宽容他人,放过自己。

使用appscript+python来控制Mac下的GUI应用程序

Posted on By anchoriteFili

使用appscript+python来控制Mac下的GUI应用程序

在Mac下,appscript是一个与应用程序通信交互的强大工具。用Python的appscript模块,可以在不用学习appscript的情况下也能做到与很多应用程序交互的功能。

打开Mac的终端,安装很简单: sudo easy_install appscript

**然后运行python,先来试一个简单有趣的例子: **

>> import osax  
>> sa = osax.OSAX()  
>> sa.say("Hello world", using="Victoria")  

怎么样,你的苹果说话了吧──打破通常用无声”Hello world”作为程序入门的惯例 :)

下面是一个比较实用的例子,调用iTunes播放你喜欢的音乐:

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:", track.name()
print "Artist:", track.artist()
print "Genre:", track.genre()
track.play()

保存程序文件play2nd.py,运行情况如下:

$ python play2nd.py 
Now playing the 2nd track:
--------------------------------------------------
Name: Rainmaker
Artist: Yanni
Genre: New Age

对于iTunes,我们还可以编写更多实用的例子:

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