【问题标题】:How do I suppress the output in subprocess.call, but save the output?如何抑制 subprocess.call 中的输出,但保存输出?
【发布时间】:2013-10-03 21:52:45
【问题描述】:

目前我的代码是

print ("Getting MediaInfo...")
mediainfo_command = ("mediainfo", input_file_full)
mediainfo = (subprocess.call(mediainfo_command))

所以我要做的就是将 subprocess.call 的输出保存到变量 mediainfo 中。但我不想在终端中显示命令的实际输出。

这可能吗?

【问题讨论】:

    标签: python process mediainfo


    【解决方案1】:

    改用 subprocess.Popen.communicate。

    print ("Getting MediaInfo...")
    mediainfo_command = ["mediainfo", input_file_full]
    proc = subprocess.Popen(mediainfo_command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    mediainfo, mediaerr = proc.communicate()
    

    【讨论】:

      【解决方案2】:

      您可能还想查看subprocess.check_output

      print ("Getting MediaInfo...")
      mediainfo_command = ["mediainfo", input_file_full]
      mediainfo = subprocess.check_output(mediainfo_command)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-10-17
        • 2018-08-14
        • 2016-03-07
        • 1970-01-01
        • 2019-10-03
        相关资源
        最近更新 更多