如何在Python中使用AppleScript?


2

我制作了一个程序来根据.xlsx文件中的数据批量生成合同。我最初是为PC制作的,现在我正在尝试创建一个mac版本。一切似乎都在顺利运行,但我的程序中有一种方法依赖于win32com.client,所以我需要为此找出其他的东西。我想知道是否有一个类似的mac包,或者一种方法来执行相同的基本任务而不会有太多的麻烦。我愿意学习一点AppleScript; 我不太确定如何在Python中使用AppleScript,或者从哪里开始查看。

这是我正在使用的方法:

def PDFconverter(self, filePath, contract):
    folder = filePath
    file_type = 'docx'
    out_folder = folder + "\\" + getIssueCode(self.GUI)
    if not os.path.exists(out_folder):
        print('Creating output folder for PDFs...')
        os.makedirs(out_folder)
        print(filePath, 'created.')
    for files in os.listdir("."):
        if files == contract:
            out_name = files.replace(file_type, r"pdf")
            in_file = os.path.abspath(folder + "\\" + files)
            out_file = os.path.abspath(out_folder + "\\" + out_name)
            word1 = client.Dispatch("Word.Application")
            doc1 = word1.Documents.Open(in_file)
            print('Exporting', out_file)
            print(' ')
            doc1.SaveAs(out_file, FileFormat=17)
            doc1.Close()
            word1.Quit()

底部的for循环检查文件夹中的每个word文件是否与指定的合同名称匹配,然后调用client.Dispatch打开相关文件,并将其另存为PDF。

有人能指出我在macOS上实现这个目标的方向吗?


嘿 - 你想退出shell并osascript从Python 调用吗?目前还不清楚我们在这里寻求什么样的表面帮助,或者你只是想让别人说 - 是的,你可以在Mac上使用python,因为它只是需要改变一些语法或调用?
bmike
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.