Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python在cmd中传递变量_Python_Python 2.7_Cmd_Subprocess - Fatal编程技术网

使用python在cmd中传递变量

使用python在cmd中传递变量,python,python-2.7,cmd,subprocess,Python,Python 2.7,Cmd,Subprocess,我想在命令提示符中传递一些变量和一些其他文本。我试过这个代码,但它不起作用。有什么提示我可能做错了什么或者我应该做什么 有一个变量“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”,它存储一个URL,我想在cmd中传递这个URL和一些其他参数

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

但是,这似乎不起作用。我无法传递变量“V”。当我删除引号时,它只是粘贴V,以便将变量传递到字符串中。您可以使用
字符串的
格式
方法:

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)

您正在v cariable中使用“file.avi”。但是,就像我说的。。它包含一个url。。因此,脚本无法找到指定的文件..@user2408212。例如,将“file.avi”更改为要使用的文件路径。如果这是一个url,您需要先下载它(或者在您的问题中询问如何通过python下载它)@user2408212:小心。仅用于获取命令的草稿列表版本,您可以在以后手动进行微调。顺便说一句,对当前目录(
os.getcwd()
)使用
cwd
有什么意义?