首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python中使用FFprobe

在Python中使用FFprobe
EN

Stack Overflow用户
提问于 2018-01-16 07:15:59
回答 1查看 809关注 0票数 0

如何在python脚本中使用FFprobe,它也将输出导出为csv文件?

我想执行的命令是:

代码语言:javascript
复制
ffprobe -i file_name -show_frames -select_streams v:1 -print_format csv > filename.csv 

我看了其他关于类似问题的帖子,并做了一些修改:

代码语言:javascript
复制
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文件,命名为与文件名相同

有人知道我该怎么做吗?

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-16 07:52:17

如果您希望数据可用于python (以列表列表的形式):

代码语言:javascript
复制
data = [l.split(',') for l in out.decode('ascii').splitlines()]

如果您只想将数据转储到文件中:

代码语言:javascript
复制
with open("{}.csv".format(filename), "w") as f:
    f.write(out.decode('ascii'))

注意,我使用的是Python3,因此是decode()s (outbytes,必须解码)。您显然使用的是Python2,所以decode()可能不是必需的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48272012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档