通过Python静默运行7zip命令行

时间:2013-08-18 04:10:54

标签: python executable popen

我已经看到很多关于使用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非常感谢,谢谢。

1 个答案:

答案 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)