我正在尋找OSX自動化的任何模塊,例如通過Python打開任何應用程序,並通過Python控制鼠標,鍵盤等。我嘗試使用AppleScript,但我想知道如果我可以訪問鼠標,鍵盤並可以使用Python自動化OSX上的任何應用程序?我發現pyauto
,如果有任何其他好的Python庫,OSX自動化模塊,請讓我知道。哪些Python模塊庫可用於OSX自動化?
-1
A
回答
1
我也在尋找一個很好的python模塊來在python中使用'applescript'。其實這就是我到這裏的方式。我無法找到任何東西,所以我不得不提出自己的解決方案。
對我來說很好的方法是使用子進程模塊在我的python程序中調用osascript。
更準確地說,如果我想在我的日曆中添加一些東西,我會生成一個在我的python程序中將其作爲字符串處理的applescript,然後將其管道化爲osascript。
這不是超級優雅,可能也不是超快,但它運作良好。所以,我目前正在編寫一個日曆模塊,該模塊具有用於添加事件,獲取事件列表的python函數....並且每個函數都以字符串形式生成applescript並調用osascript。
聽起來很糟糕,但工作得很好,一旦你有你喜歡的程序模塊,你不必再擔心applescript。
需要一種方法來在蘋果腳本中編碼返回數據,然後在python程序中對其進行解碼。就我而言,大多數傳入和傳出的數據都是字典式的,到目前爲止,使用re模塊並不是一個問題。
以下是獲取日曆「生日」的uid的示例。
我的方法的主要問題是我需要爲applescript中的所有內容編寫包裝函數。一個令人厭煩的過程。
我看到的主要優點是a)它的工作原理,我得到了我想要的地方,b)它似乎是未來的證明。因爲,如果蘋果在某些時候拋棄了applescript而轉而使用javascript或其他軟件,那麼一旦我調整了包裝模塊,我的所有程序都將繼續工作。
無論如何...
希望有所幫助。
順便說一句,如果有人知道更好的方式讓我知道。或者,如果有人不知道更好的方法,但喜歡我的方法,並有興趣幫助編寫包裝模塊,請讓我知道。
這裏是例子。
最佳, 斯蒂芬
import subprocess
def asrun(ascript):
"Run the AppleScript ascript and return the standard output and error."
return subprocess.run(['osascript'],
input=ascript,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
encoding="utf-8")
def get_uid_of_calendar(name):
script = '''\
tell application "Calendar"
return uid of calendar "'''+name+'''"
end tell
'''
cal_res = asrun(script)
return cal_res.stdout
get_uid_of_calendar("Birthdays")
相關問題
- 1. Python可以尋找哪些模塊?
- 2. Node.js自動需要哪些模塊?
- 3. 用於自動化Web流程的Python模塊?
- 4. 機械化模塊Python自動登錄
- 5. 如何檢測哪些模塊依賴於Ruby中的哪些模塊?
- 6. Python:討論網站的哪些模塊?
- 7. 哪些SOAP庫可用於Google App Engine?
- 8. 哪些Java庫可用於生成KML?
- 9. 哪個simplejson模塊可用於Google AppEngine?
- 10. 運行Python 3.5解釋器需要哪些標準庫模塊?
- 11. 對於Python模塊,要聲明哪些標準全局變量?
- 12. Erlang中有哪些參數化模塊可供選擇?
- 13. 有哪些選項可用於映射數據庫模式?
- 14. 哪些工具可用於動畫?
- 15. Python的模塊化爲一些
- 16. 用於python強化學習的模擬和可視化庫?
- 17. Django測試自動化可以使用哪些工具?
- 18. 如何指定哪些Require.js模塊使用優化器壓縮,哪些不是?
- 19. 哪些自動化工具西服液壓機自動化
- 20. 用於C++代碼可視化的Python模塊
- 21. 哪些數據庫模式更可取?
- 22. 可用於本地模塊的庫
- 23. ActiveQt包含哪些模塊?
- 24. 需要哪些apache模塊?
- 25. 如何使用Python pexpect模塊自動化shell交互命令
- 26. Python模塊庫
- 27. 哪些CMS用於移動?
- 28. 使用Python啓動守護進程(OSX)導入模塊
- 29. 哪種設計模式適用於動態/模塊化「事件」系統?
- 30. 哪些原生python模塊用C編寫?
ATOMac/pyatom是唯一一個在Python至今。它僅適用於Python2.7,但足以獲取文本等。 –