Python 2.7 python-在应用程序中打开文件
我正在使用terminal成功地在quicktime player 7中打开一个文件,但似乎无法使用python来完成同样的工作。 这是从终端开始工作的:Python 2.7 python-在应用程序中打开文件,python-2.7,terminal,popen,quicktime,Python 2.7,Terminal,Popen,Quicktime,我正在使用terminal成功地在quicktime player 7中打开一个文件,但似乎无法使用python来完成同样的工作。 这是从终端开始工作的: open -a "Quicktime Player 7" /Users/Me/Movies/test.mov 但这在python 2.7中不起作用,它会打开quicktime,但不会打开文件: command = ('open -a "Quicktime Player 7"', 'Users/Me/Movies/test.mov') sub
open -a "Quicktime Player 7" /Users/Me/Movies/test.mov
但这在python 2.7中不起作用,它会打开quicktime,但不会打开文件:
command = ('open -a "Quicktime Player 7"', 'Users/Me/Movies/test.mov')
subprocess.Popen(command, shell=True)
我做错了什么?如果您将
命令
作为列表
/元组
传递,则必须正确分割参数:
command = ('open', '-a', 'Quicktime Player 7', '/Users/Me/Movies/test.mov')
subprocess.Popen(command, shell=True)
然后我认为您还应该能够删除shell=True
参数。此外,您可以查看或(前者返回程序的返回值,后者在返回值指示错误时引发异常):
注意:就编码风格而言,命令通常作为列表传递,如我上面链接的文档所示
编辑:在两个路径的开头添加“/”
,使其工作。第一个建议没有任何作用,只是运行,什么也没有发生,subprocess.check_调用返回非零退出状态1。您正在运行哪个操作系统?subprocess.check_调用现在工作,我必须在文件路径的开头添加一个/。
subprocess.check_call(['open', '-a', 'Quicktime Player 7', '/Users/Me/Movies/test.mov'])