我需要通过 python 获取视频文件的持续时间作为更大脚本的一部分。我知道我可以使用 ffmpeg 来获取持续时间,但我需要能够将该输出保存为 python 中的变量。我认为这会起作用,但它给了我 0 的值:
cmd = 'ffmpeg -i %s 2>&1 | grep "Duration" | cut -d \' \' -f 4 | sed s/,//' % ("Video.mov")
duration = os.system(cmd)
print duration
我做错了输出重定向吗?或者根本没有办法将终端输出通过管道返回到 python 中?
原文由 Gordon Fontenot 发布,翻译遵循 CC BY-SA 4.0 许可协议
os.system
返回一个返回值,表示命令成功或失败。它不返回 stdout 或 stderr 的输出。要从 stdout(或 stderr)获取输出,请使用subprocess.Popen
。