使用 python 在 cmd 中传递变量

passing variables in cmd using python

我还想在命令提示符中传递一些变量和一些其他文本。我尝试使用此代码但它不起作用。任何提示我可能做错了什么或者我应该怎么做?

有一个存储 URL 的变量 "v",我想在 cmd 中传递这个 URL,其他 parameters.I 现在有这个代码。

working_directory = os.getcwd()
p = subprocess.Popen(['ffmpeg -i 'v' -c copy getit.mkv'], cwd=working_directory)
p.wait()

但是,这似乎不起作用。我无法传递变量 "V"。当我删除引号时它只是粘贴 V

要将变量传递给字符串,您可以使用 stringformat 方法:

v = 'file.avi'
p = subprocess.Popen(["ffmpeg -i {} -c copy getit.mkv".format(v)], cwd=working_directory)

将命令作为如下列表传递:

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)