我有一个巨大的命令来运行带有多个参数的可执行文件。它是这样的:
ffmpeg.exe -f dshow -y -video_size 1920x1080 -rtbufsize 1404000k -r 30 -i video="HD Video 2 (TC-2000HDMI Card)" -threads 2 -vcodec copy -ar 48000 -ac 1 -acodec pcm_s16le -t 60 c:/output.avi
我正在subprocess.Popen
为此使用但不确定如何使用python 2.7传递这么多参数
我经历了很多职位,其中之一就是这个。我无法使其适用于多个参数。
需要帮助。
的示例subprocess.Popen
显示了正确解析复杂命令行以传递给的示例Popen
:
>>> import shlex, subprocess
>>> command_line = raw_input()
/bin/vikings -input eggs.txt -output "spam spam.txt" -cmd "echo '$MONEY'"
>>> args = shlex.split(command_line)
>>> print args
['/bin/vikings', '-input', 'eggs.txt', '-output', 'spam spam.txt', '-cmd', "echo '$MONEY'"]
>>> p = subprocess.Popen(args) # Success!
将其与Python的三重引号相结合以允许大多数引号品种将为您提供以下信息(尚未运行,抱歉,较长的命令行):
import shlex, subprocess
p = subprocess.Popen(slex.split("""ffmpeg.exe -f dshow -y -video_size 1920x1080 -rtbufsize 1404000k -r 30 -i video="HD Video 2 (TC-2000HDMI Card)" -threads 2 -vcodec copy -ar 48000 -ac 1 -acodec pcm_s16le -t 60 c:/output.avi"""))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句