繁体   English   中英

使用命令`osascript -e'quit app“Quicktime Player 7”'`with python

[英]use command `osascript -e 'quit app “Quicktime Player 7”'` with python

我在OSX终端中使用osascript -e 'quit app "Quicktime Player 7"'来关闭Quicktime Player 7应用程序,该应用程序运行良好,但无法使用python运行相同的命令。 我究竟做错了什么?

这只是运行,但什么都不做:

command = ['osascript', '-e', 'quit app', 'Quicktime Player 7']
p = subprocess.Popen(command)

quit appQuicktime Player 7作为两个列表元素将转换命令subprocess.Popen执行如下所示:

osascript -e 'quit app' 'Quicktime Player 7'

osascript期望-e的参数是“脚本的一行”(参见osascriptman-page )。 拆分参数会导致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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM