2017-04-12 2 views
1

Ich habe einen funktionierenden Code auf Windows, die nach einer Reihe von vielen anderen Schritten, Audacity verwendet die empfangenen Audiodatei, um zu de-Rauschen. Ich hatte den folgenden Code auf Windows wurde unter Verwendung von Steuer übertragen eine Reihe von Aktionen ausführen:Python pywinauto für Mac für Audacity

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') 

ich diesen Code auf meinem Mac portiert und installiert die notwendigen Py Module wie pywinauto. Allerdings bin ich diesen Fehler:

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' 

Beim Versuch win32process pip installieren, erhalte ich eine Fehlermeldung:

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

Gibt es eine Möglichkeit, diese oder eine andere Alternative zu lösen Kontrolle zu Audacity zu übertragen und Aktionen darauf ausführen?

Antwort

1

Derzeit pywinauto nicht Apple-Accessibility API unterstützen und sollte auf MacOS nicht funktionieren.

Leider gibt es kein gutes Cross-Plattform-GUI-Automatisierungswerkzeug in dem Open-Source-Bereich (Zugänglichkeit textbasierten Ansatz). Das einzige ist LDTP (Linux Desktop Testing Project) und API-kompatibel Cobra (unter Windows) und pyatom (MacOS). Glücklicherweise ist pyatom eine eigenständige eigenständige Bibliothek. Meine Schüler konnten mit pyatom nur wenige Apps automatisieren. Sie können es für jetzt verwenden.

P.S. Wir versuchen pywinauto Cross-Plattform (mit echten nahtloser Integration) zu machen, aber MacOS Backend-Implementierung ist auf das sehr frühen Entwicklungsstadium für jetzt. Ich erwarte, Linux AT-SPI-Unterstützung früher als Apple Accessibility API eins einzuführen.