使用python控制其他软件运行_使用Python与其他程序进行交互

如果你真正在寻找的是一个很好的借口,教自己如何与其他应用程序进行交互,这可能不是最好的.网络浏览器是凌乱的,时间安排是不可预知的等等.所以,你已经采取了非常艰巨的任务 – 如果你这样做,会非常容易(直接和服务器直接建立文本文件直接等,所有没有任何其他程序触摸).

但是,如果您想与其他应用程序进行交互,则可以使用各种不同的方法,哪些方法适合您需要处理的应用程序种类.

>某些应用程序设计为从外部自动化.在Windows上,这几乎总是意味着它们是一个COM接口,通常使用IDispatch接口,您可以使用它来使用pywin32的COM包装器;在Mac上,这意味着一个AppleEvent界面,您可以使用ScriptingBridge或appscript;在其他平台上没有通用标准. IE(但可能不是Chrome)和Word都有这样的界面.

>某些应用程序具有非GUI界面 – 无论是使用popen驱动的命令行,还是通过ctypes加载的DLL / SO / DYLIB.或者,理想情况下,其他人已经为您编写了Python绑定.

有些应用程序除了GUI之外,没有办法进行GUI自动化.您可以通过制作WM_消息,通过Windows上的pywin32,Mac上的可访问性API等使用可访问性API,或者像pywinauto这样的库,或者可能在较高级别的硒或用于自动化特定应用程序的类似工具.

所以,您可以从硒的Chrome和COM自动化Word中的任何内容,自己制作所有的WM_消息.如果这是一个学习活动,那么问题是你今天想学哪些东西.

我们从COM自动化开始.使用pywin32,您可以直接访问应用程序自己的脚本界面,而无需从用户那里控制GUI,了解如何浏览菜单和对话框等.这是现代版本的“Word宏” – 宏可以是外部脚本而不是内部的Word,它们不必在VB中编写,但它们看起来很相似.您脚本的最后一部分将如下所示:

word = win32com.client.dispatch('Word.Application')

word.Visible = True

doc = word.Do

你可能感兴趣的:(使用python控制其他软件运行_使用Python与其他程序进行交互)