使用mediainfo在python3中运行check_output会产生错误,即使终端中的相同调用工作正常

时间:2016-07-10 17:13:33

标签: python python-3.x subprocess mediainfo

这是代码:

try:
    s = check_output(['mediainfo', '--Inform=General;%Format%', filename])  # Gets the output from mediainfo

运行时,我得到了

subprocess.CalledProcessError: Command '['mediainfo', '--Inform=General;%Format%', 'xyz']' returned non-zero exit status 1

在终端中运行mediainfo --Inform='Video;%Format%' s03e07.mkv时,我会得到所需的输出,那么这里发生了什么?

1 个答案:

答案 0 :(得分:1)

前两个论点没有错。有两个很强的可能性,你正在读取一个文件,并且文件名上有空格:

"sample.mkv\n"

或者当前工作目录不在文件的位置,因此您需要传递完整路径或在 check_output 调用中设置cwd="path_to_filr_dir"