如何在python脚本中使用FFprobe,它也将输出导出为csv文件?
我想执行的命令是:
ffprobe -i file_name -show_frames -select_streams v:1 -print_format csv > filename.csv 我看了其他关于类似问题的帖子,并做了一些修改:
def probe_file(filename):
cmnd = ['ffprobe', '-i',filename, '-show_frames', '-select_streams', 'a', '-print_format', 'csv']
p = subprocess.Popen(cmnd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
print filename
out, err = p.communicate()
print "==========output=========="
print out
if err:
print "========= error =r======="
print err然而,我似乎不能让"> filename.csv“工作。
分析视频后,我想要所有的输出为csv文件,命名为与文件名相同
有人知道我该怎么做吗?
提前感谢
发布于 2018-01-16 07:52:17
如果您希望数据可用于python (以列表列表的形式):
data = [l.split(',') for l in out.decode('ascii').splitlines()]如果您只想将数据转储到文件中:
with open("{}.csv".format(filename), "w") as f:
f.write(out.decode('ascii'))注意,我使用的是Python3,因此是decode()s (out是bytes,必须解码)。您显然使用的是Python2,所以decode()可能不是必需的。
https://stackoverflow.com/questions/48272012
复制相似问题