Python 2.7 mediainfo --inform 输出完整信息而不是一个字符串

标签 python regex python-2.7 subprocess mediainfo

在 powershell 中使用以下命令会产生 01:22:02:03 的预期输出:

 MediaInfo --Language=raw --Full --Inform="Video;%Duration/String4%" filename

我的以下 python 2.7 脚本始终提供每条元数据的完整 mediainfo 输出,而不仅仅是我指定的持续时间字符串。我尝试转义分号,但没有效果。我做错了什么?

import sys
import subprocess
filename = sys.argv[1]
test = subprocess.check_output(['MediaInfo', '--Language=raw', '--Full', '--inform="Video;%Duration/String4%"', filename])
print test

最佳答案

丢失 --Inform 参数中的双引号。我可以用这段代码重现您的问题:

import subprocess

args =  [
    'mediainfo',
    '--Language=raw',
    '--Full',
    '--inform="Video;%Duration/String4%"',
    'tests/reference.mp4'
]

bad_output = subprocess.check_output(args)
line_count_bad = len(bad_output.splitlines())

args[3] = args[3].replace('"', '')

good_output = subprocess.check_output(args)
line_count_good = len(good_output.splitlines())

print(line_count_bad, line_count_good, sep='\t')
print(good_output)

输出为:

204 1
b'00:00:07:08\n'

关于Python 2.7 mediainfo --inform 输出完整信息而不是一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33588870/

相关文章:

c++ - 如何初始化正则表达式 vector ?

python-2.7 - 在 64 位 Windows 7 和 64 位 Python 2.7 上安装 Pygame

python - 我无法在 Windows 7 上安装 python 线程库

python - python 中的随机生成器函数/全局变量有问题吗?

python - 生成所有长度为 n 的 True/False 排列?

python - 从python中的子进程返回一个变量值

YYYY-MM-DD 的 JavaScript 正则表达式,带有可选的月份和日期

r - 在R中的字符串后提取一定数量的单词或特殊字符

python - 从另一个字典列表中减去字典列表中的值

python - 未检测到 Youtube 视频位置