带有变量的python子进程check_output中的错误

Posted

技术标签:

【中文标题】带有变量的python子进程check_output中的错误【英文标题】:Error in pytion subprocess check_output with variable 【发布时间】:2021-12-12 08:35:38 【问题描述】:

我需要 ffprobe 命令的输出。所以我使用子进程模块如下:

lengthofvideo = subprocess.check_output('ffprobe', '-i' %inputfile, '-show_entries', 'format=duration', '-v', 'quiet', '-of', 'csv="p=0"')

输入文件变量包含完整的类似 bash 的视频路径。但是我的语法有错误,我得到了以下错误:

TypeError: not all arguments converted during string formatting

感谢任何帮助。

【问题讨论】:

【参考方案1】:

我这样做的最简单方法是创建一个命令,然后将其传递给子进程:

cmd = 'ffprobe -i ' + inputfile + ' -show_entries format=duration -v quiet -of csv="p=0"'
lengthofvideo = subprocess.check_output(cmd, shell=True)

【讨论】:

以上是关于带有变量的python子进程check_output中的错误的主要内容,如果未能解决你的问题,请参考以下文章

带有管道和大文件的 Python 子进程

带有管道的子进程调用[重复]

如何使用带有字节而不是文件的python子进程

父进程全局变量如何复制到python多处理中的子进程

Python:子进程并运行带有多个参数的bash脚本

使用带有 python3 的子进程模块管道两个命令时遇到问题