使用appscript+python來控制Mac下的GUI應用程式
阿新 • • 發佈:2019-02-06
在Mac下,appscript是一個與應用程式通訊互動的強大工具。用Python的appscript模組,可以在不用學習appscript的情況下也能做到與很多應用程式互動的功能。
開啟Mac的終端,安裝很簡單:
sudo easy_install appscript
然後執行ipython,先來試一個簡單有趣的例子:
Python程式碼
怎麼樣,你的蘋果說話了吧──打破通常用無聲"Hello world”作為程式入門的慣例 :)
下面是一個比較實用的例子,呼叫iTunes播放你喜歡的音樂:
Python程式碼
儲存程式檔案play2nd.py,執行情況如下:
Shell程式碼
iTunes開始播放 :)
對於iTunes,我們還可以編寫更多實用的例子:
Python程式碼
該程式的作用是,列出iTunes第一個列表中的前10首音樂。
另外一個工作上比較實用的功能是,appscript+python還可以與FileMakerPro進行資料庫操作。這裡有一篇文章可供參考:
http://wiki.python.org/moin/MacPython/FileMakerPro/AppscriptingOverview
開啟Mac的終端,安裝很簡單:
sudo easy_install appscript
然後執行ipython,先來試一個簡單有趣的例子:
Python程式碼
- >> import osax
- >> sa = osax.OSAX()
- >> sa.say("Hello world", using="Victoria")
怎麼樣,你的蘋果說話了吧──打破通常用無聲"Hello world”作為程式入門的慣例 :)
下面是一個比較實用的例子,呼叫iTunes播放你喜歡的音樂:
Python程式碼
- import appscript
- iTunes = appscript.app("iTunes")
- browserWindows = iTunes.browser_windows()
- browserWindow = browserWindows[0]
- playList = browserWindow.view()
- track = playList.tracks[2]
- print"Now playing the 2nd track:"
- print"-"*50
-
print"Name:"
- print"Artist:", track.artist()
- print"Genre:", track.genre()
- track.play()
儲存程式檔案play2nd.py,執行情況如下:
Shell程式碼
- $ python play2nd.py
- Now playing the 2nd track:
- --------------------------------------------------
- Name: Rainmaker
- Artist: Yanni
- Genre: New Age
iTunes開始播放 :)
對於iTunes,我們還可以編寫更多實用的例子:
Python程式碼
- import appscript
- iTunes = appscript.app("iTunes")
- browserWindows = iTunes.browser_windows()
- browserWindow = browserWindows[0]
- playList = browserWindow.view()
- for i in range(1,10):
- track = playList.tracks[i]
- print"-"*50
- try:
- print"Name:", track.name().encode('utf8')
- print"Artist:", track.artist()
- print"Genre:", track.genre()
- except Exception,e:
- pass
該程式的作用是,列出iTunes第一個列表中的前10首音樂。
另外一個工作上比較實用的功能是,appscript+python還可以與FileMakerPro進行資料庫操作。這裡有一篇文章可供參考:
http://wiki.python.org/moin/MacPython/FileMakerPro/AppscriptingOverview