Created
October 10, 2012 00:54
-
-
Save nitely/3862493 to your computer and use it in GitHub Desktop.
Python, subprocess: hide console on Windows
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import subprocess | |
IS_WIN32 = 'win32' in str(sys.platform).lower() | |
def subprocess_call(*args, **kwargs): | |
#also works for Popen. It creates a new *hidden* window, so it will work in frozen apps (.exe). | |
if IS_WIN32: | |
startupinfo = subprocess.STARTUPINFO() | |
startupinfo.dwFlags = subprocess.CREATE_NEW_CONSOLE | subprocess.STARTF_USESHOWWINDOW | |
startupinfo.wShowWindow = subprocess.SW_HIDE | |
kwargs['startupinfo'] = startupinfo | |
retcode = subprocess.call(*args, **kwargs) | |
return retcode |
Well, it receives and passes all parameters to subprocess.call
, so it works the same way. See https://docs.python.org/3/library/subprocess.html#subprocess.call
Apparently, the only thing that does is to change/add the startupinfo
so the window is hidden in Win32.
I wrote this 8 years ago for Python 2 (I think). Maybe Python 3 fixed this.
Thanks for this; really helped me today! Won't need it for Python 3, but not there quite yet.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
How to use this function? Argument?
Please explain more.
Thanks