2013-02-18 174 views
2

我有一個使用Xfoil來處理數據文件的函數。不過,我正試圖整理一些鬆散的結局。正如我運行OS X 10.8.2,XFOIL使用X11(如XQuartz運行)來創建其圖形等 我想我的功能也關閉XQuartz應用程序已經完成,所以我想後:使用python終端關閉程序

os.system("""'echo osascript -e 'tell application "XQuartz" to quit'""") 

但我沒有運氣。我使用三重雙引號逗號將整個事件作爲一個字符串並且os被導入。我相信「osascript -e」告訴應用程序「XQuartz」退出「」是一個Apple腳本,我試圖使用echo函數。

回答

4

您正在運行錯誤的命令;您直接使用echo而不是osascript,並且您的單引號包含中的命令不均衡(您有3個)。

這將是更容易使用,而不是subprocess module

import subprocess 

subprocess.call(['osascript', '-e', 'tell application "XQuartz" to quit']) 

由於subprocess採用的工藝參數列表,你不必擔心(多)報價左右。

+0

非常棒,非常感謝! – 2013-02-19 00:51:10