Rhy*_*hys 10 python subprocess python-3.x
Hi Stack Overflow用户,
我遇到了一个令人沮丧的问题,找不到答案.
昨天我试图找到一种隐藏子进程的方法.Popen.例如,如果我打开cmd.我希望它永久隐藏起来.
我找到了这段代码:
kwargs = {}
if subprocess.mswindows:
su = subprocess.STARTUPINFO()
su.dwFlags |= subprocess.STARTF_USESHOWWINDOW
su.wShowWindow = subprocess.SW_HIDE
kwargs['startupinfo'] = su
subprocess.Popen("cmd.exe", **kwargs)
Run Code Online (Sandbox Code Playgroud)
它就像一个魅力!
但今天,由于我不需要进入的原因,我不得不重新安装python 3(32位)
现在,当我运行我的程序时,我收到此错误:
Traceback (most recent call last):
File "C:\Python31\hello.py", line 7, in <module>
su.dwFlags |= subprocess.STARTF_USESHOWWINDOW
AttributeError: 'module' object has no attribute 'STARTF_USESHOWWINDOW'
Run Code Online (Sandbox Code Playgroud)
我正在使用32位,python3.1.3 ......就像之前一样.
如果你有任何线索/替代品请发布,谢谢.
注意:我正在寻找一种SHORT方法来隐藏应用程序,而不是请两页代码
小智 11
您可以在Python安装中重新创建或检查所描述的问题:
import subprocess
subprocess.STARTF_USESHOWWINDOW
Run Code Online (Sandbox Code Playgroud)
如果问题仍然存在,您应该收到以这样的行结尾的错误消息:
AttributeError: 'module' object has no attribute 'STARTF_USESHOWWINDOW'
Run Code Online (Sandbox Code Playgroud)
问题的可能解决方案是通过以下方式导入代码旧库:
import subprocess
import _subprocess
Run Code Online (Sandbox Code Playgroud)
后来只将它用于这两个有问题的属性:
# do not show window
info = subprocess.STARTUPINFO()
info.dwFlags = _subprocess.STARTF_USESHOWWINDOW
info.wShowWindow = _subprocess.SW_HIDE
Run Code Online (Sandbox Code Playgroud)
而已.简单而实用 - 无需卸载/安装Python或恢复旧版本.
蟒蛇 3.1.3 > 和 2.7
import subprocess
import sys
params = dict()
startupinfo = subprocess.STARTUPINFO()
startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
params['startupinfo'] = startupinfo
p = subprocess.Popen("cmd.exe", **params)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
20573 次 |
最近记录: |