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

来源:互联网 发布:怎样软件编写 编辑:程序博客网 时间:2024/06/06 01:03
在Mac下,appscript是一个与应用程序通信交互的强大工具。用Python的appscript模块,可以在不用学习appscript的情况下也能做到与很多应用程序交互的功能。 

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

然后运行ipython,先来试一个简单有趣的例子: 
Python代码  收藏代码
  1. >> import osax  
  2. >> sa = osax.OSAX()  
  3. >> sa.say("Hello world", using="Victoria")  

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

下面是一个比较实用的例子,调用iTunes播放你喜欢的音乐: 
Python代码  收藏代码
  1. import appscript  
  2. iTunes = appscript.app("iTunes")  
  3. browserWindows = iTunes.browser_windows()  
  4. browserWindow = browserWindows[0]  
  5. playList = browserWindow.view()  
  6. track = playList.tracks[2]  
  7. print "Now playing the 2nd track:"  
  8. print "-"*50  
  9. print "Name:", track.name()  
  10. print "Artist:", track.artist()  
  11. print "Genre:", track.genre()  
  12. track.play()  


保存程序文件play2nd.py,运行情况如下: 
Shell代码  收藏代码
  1. $ python play2nd.py   
  2. Now playing the 2nd track:  
  3. --------------------------------------------------  
  4. Name: Rainmaker  
  5. Artist: Yanni  
  6. Genre: New Age  


iTunes开始播放 :) 


对于iTunes,我们还可以编写更多实用的例子: 
Python代码  收藏代码
  1. import appscript  
  2. iTunes = appscript.app("iTunes")  
  3. browserWindows = iTunes.browser_windows()  
  4. browserWindow = browserWindows[0]  
  5. playList = browserWindow.view()  
  6. for i in range(1,10):  
  7.         track  = playList.tracks[i]  
  8.         print "-"*50  
  9.         try:  
  10.                 print "Name:", track.name().encode('utf8')  
  11.                 print "Artist:", track.artist()  
  12.                 print "Genre:", track.genre()  
  13.         except Exception,e:  
  14.                 pass  

该程序的作用是,列出iTunes第一个列表中的前10首音乐。 


另外一个工作上比较实用的功能是,appscript+python还可以与FileMakerPro进行数据库操作。这里有一篇文章可供参考: 
http://wiki.python.org/moin/MacPython/FileMakerPro/AppscriptingOverview 
原创粉丝点击