我osascript -e 'quit app "Quicktime Player 7"'
在OSX Terminal中使用它来关闭Quicktime Player 7应用程序,该应用程序运行良好,但无法使用python来运行相同的命令。我究竟做错了什么?
这只是运行,但不执行任何操作:
command = ['osascript', '-e', 'quit app', 'Quicktime Player 7']
p = subprocess.Popen(command)
具有quit app
和Quicktime Player 7
作为两个列表元素将转换命令subprocess.Popen
执行,如下所示:
osascript -e 'quit app' 'Quicktime Player 7'
osascript
期望随后的参数-e
是“脚本的一行”(请参见osascript
的手册页)。拆分参数会导致osascript
将其执行quit app
并解释Quicktime Player 7
为参数,因此可能会忽略它。
一个简单的解决方法如下:
command = ['osascript', '-e', 'quit app "Quicktime Player 7"']
p = subprocess.Popen(command)
如果您不想首先使用列表/拆分命令,则可以使用它shlex.split
来完成以下工作:
import shlex
command = shlex.split("osascript -e 'quit app \"Quicktime Player 7\"'")
p = subprocess.Popen(command)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句