【问题标题】:Closing a program using terminal from python从 python 使用终端关闭程序
【发布时间】:2013-02-18 18:12:35
【问题描述】:

我有一个使用 Xfoil 处理数据文件的函数。但是,我正在尝试整理一些松散的结局。当我运行 OS X 10.8.2 时,Xfoil 使用 X11(作为 XQuartz 运行)来创建它的图表等。 我希望我的函数在完成后也关闭 XQuartz 应用程序,所以我正在尝试:

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

但我没有运气。我正在使用三重双引号将整个内容作为字符串并导入 os。我相信“osascript -e 'tell application "XQuartz" to quit'" 是一个 Apple 脚本,我正在尝试将它与 echo 函数一起使用。

【问题讨论】:

    标签: python macos python-2.7 applescript


    【解决方案1】:

    你运行了错误的命令;您正在使用echo 而不是直接使用osascript,并且命令中的单引号 contained 不平衡(您有 3 个)。

    改用subprocess module 会更容易:

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

    因为subprocess 采用流程参数列表,所以您不必(过多)担心引用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-19
      • 1970-01-01
      • 1970-01-01
      • 2015-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-08
      相关资源
      最近更新 更多