python - 使用python在cmd中传递变量

标签 python python-2.7 cmd subprocess

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

有一个存储 URL 的变量“v”,我想在 cmd 中传递这个 URL 和一些其他参数。我现在有这段代码。

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

但是,这似乎行不通。我不能传递变量“V”。当我删除引号时它只是粘贴 V

最佳答案

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

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)

关于python - 使用python在cmd中传递变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32151426/

相关文章:

php - 如何从已经运行的实例中执行 matlab 代码?

python - beautifulsoup 不打印链接

python - 使用 python 从互联网下载文件

python - Pip 在 Windows 10 上安装 Spyder(无法启动)

Python错误: list index out of range

python - 为什么我的桌面屏幕变黑?

powershell - PowerShell函数未按预期运行

java - 使用命令行通过Java File编译文件

python - 如何在Python中将字符串列表转换为字典列表

python - celery - AttributeError : 'NoneType' object has no attribute 'delay'