我有一个使用Xfoil处理数据文件的函数。但是我试图整理一些松散的结局。当我运行OS X 10.8.2时,Xfoil使用X11(作为XQuartz运行)来创建其图形等。 我希望我的功能在完成后关闭XQuartz应用程序,所以我正在尝试:
os.system("""'echo osascript -e 'tell application "XQuartz" to quit'""")
但是我没有运气。我使用三重双引号逗号将整个事物作为字符串并导入操作系统。我相信“osascript -e”告诉应用程序“XQuartz”退出'“是一个Apple脚本,我试图使用echo函数。
答案 0 :(得分:4)
你正在运行错误的命令;您直接使用echo
代替osascript
,并且命令中的单引号包含不均衡(您有3个)。
使用subprocess
module代替更容易:
import subprocess
subprocess.call(['osascript', '-e', 'tell application "XQuartz" to quit'])
因为subprocess
获取了一个过程参数列表,所以你不必担心(很多)引用。