使用 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
要将变量传递给字符串,您可以使用 string
的 format
方法:
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)
我还想在命令提示符中传递一些变量和一些其他文本。我尝试使用此代码但它不起作用。任何提示我可能做错了什么或者我应该怎么做?
有一个存储 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
要将变量传递给字符串,您可以使用 string
的 format
方法:
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)