【问题标题】: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)