适用于 Audacity 的 Python pywinauto

标签 python macos pip pywinauto win32-process

我在 Windows 上有一个工作代码,经过一系列其他步骤后,它使用 Audacity 对接收到的音频文件进行降噪。我一直在 Windows 上使用以下代码来转移控制以执行一组操作:

import pywinauto
from pywinauto import application

def noiseReduce(filename):
    app = application.Application()
    app = app.connect(path=r'/Applications/Audacity')
    app.captcha20170411_202241.menu_select('File->Import->Audio')
    app.Selectoneormoreaudiofiles.Edit.SetText(filename + '.wav')

我将此代码移植到我的 Mac 上并安装了必要的 Py 模块,例如 pywinauto。但是,我收到此错误:

File "/Users/gautam/PycharmProjects/project/Capture.py", line 20, in <module>
    from pywinauto import application
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/pywinauto/application.py", line 75, in <module>
    import win32process
ImportError: No module named 'win32process'

在尝试 pip install win32process 时,我收到错误:

Could not find a version that satisfies the requirement win32process (from versions: ) No matching distribution found for win32process

是否有办法解决此问题或其他替代方案,将控制权转移到 Audacity 并对其执行操作?

最佳答案

目前 pywinauto 不支持 Apple Accessibility API,因此无法在 MacOS 上运行。

不幸的是,开源领域没有好的跨平台 GUI 自动化工具(使用基于文本的可访问性方法)。唯一的一个是 LDTP(Linux 桌面测试项目)和 API 兼容的 Cobra(在 Windows 上)和 pyatom(MacOS)。幸运的是pyatom也是一个独立的自包含库。我的学生能够使用 pyatom 自动化一些应用程序。您现在可以考虑使用它。

附注我们正在尝试使 pywinauto 跨平台(具有真正的无缝集成),但 MacOS 后端实现目前处于非常早期的开发阶段。我希望比 Apple Accessibility API 更早引入 Linux AT-SPI 支持。

关于适用于 Audacity 的 Python pywinauto,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43360701/

相关文章:

python-3.x - 我应该如何生成requirements.txt? pip 卡住不是一个好方法

python - Kali Linux (Debian) 无法安装 pip.py

python - 如何只删除 postgres 中的行而不是使用 pandas read_sql_query 方法删除表?

java - 如何指定要使用的基于操作系统的 Java 库?

Python setuptools 不给我执行脚本的权限

ios - 在 Objective-C 中检查方法参数的最佳方法是什么?

objective-c - 未收到 NSApplicationWillTerminateNotification

python - 捕获 "socket.error: [Errno 111] Connection refused"异常

python - 在Python中从元组值中提取特定数字

python - 在 Pyramid 中,我可以根据请求方法让多个 View 指向同一路由/URL 吗?