Python 2.7 mediainfo --inform 输出完整信息而不是一个字符串
Posted
技术标签:
【中文标题】Python 2.7 mediainfo --inform 输出完整信息而不是一个字符串【英文标题】:Python 2.7 mediainfo --inform outputs full info rather than one string 【发布时间】:2016-02-08 21:40:45 【问题描述】:在 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
【问题讨论】:
【参考方案1】:去掉--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 输出完整信息而不是一个字符串的主要内容,如果未能解决你的问题,请参考以下文章