我已经看到很多关于使用popen执行.exe文件的问题,并提到使用PIPE来停止进程的输出。如果我的术语不正确,我很抱歉,我对python很新。
这个问题的主要目的是添加stdout = PIPE或类似的东西以防止任何输出显示,例如
“提取文件名...”这非常糟糕,因为一些rars很大。
我正在尝试默默地运行7zip / hidden / very。这样整个过程就可以在后台运行,而不会干扰当前的屏幕操作。
目前,当前脚本运行正常。
这是我的python代码: Python 2.7
用于执行代码的Pythonw.exe:
pythonw.exe script.py
if ".rar" in input_file:
subprocess.Popen("C:\\Program Files (x86)\\7-Zip\\7z e " + input_file + " -o" + output_dest + " -y")
ALl非常感谢,谢谢。
答案 0 :(得分:3)
将stdout和stderr传递给系统的空文件:
import os
with open(os.devnull, 'w') as null:
subprocess.Popen(['7z', 'e', input_file, '-o', output_dest, '-y'], stdout=null, stderr=null)