我想在命令提示符中传递一些变量以及其他一些文本。我尝试使用此代码,但它无法正常工作。任何提示我可能做错了什么或者我应该做什么呢?
有一个变量" v"它存储了一个URL,我想在cmd中使用其他一些参数传递这个URL。我现在有了这个代码。
working_directory = os.getcwd()
p = subprocess.Popen(['ffmpeg -i 'v' -c copy getit.mkv'], cwd=working_directory)
p.wait()
但是,似乎这不起作用。我无法通过变量" V"。它只是在我删除引号时粘贴V
答案 0 :(得分:2)
要将变量传递给字符串,您可以使用format
的{{1}}方法:
string
答案 1 :(得分:2)
将命令作为如下列表传递:
working_directory = os.getcwd()
p = subprocess.Popen(['ffmpeg', '-i', v, '-c' 'copy' 'getit.mkv'], cwd=working_directory)
p.wait()
或者使用shlex.split()
来正确处理这个问题:
cmd = 'ffmpeg -i "{}" -c copy getit.mkv'.format(v)
p = subprocess.Popen(shlex.split(cmd), cwd=working_directory)