2013-02-18 87 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