subprocess module under python 2.7
Chris Rebert
clp2 at rebertia.com
Tue Jul 27 19:36:02 EDT 2010
On Tue, Jul 27, 2010 at 4:12 PM, Timothy W. Grove <tim_grove at sil.org> wrote:
> I am using the following code to hide the console window when launching a
> subprocess under Windows.
>
> startupinfo = subprocess.STARTUPINFO()
> startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
> startupinfo.wShowWindow = subprocess.SW_HIDE
>
> self.mplayer = Popen(args,
> bufsize=0, #unbufferred
> stdin=PIPE,
> stdout=PIPE,
> stderr=PIPE,
> close_fds=False,
> universal_newlines=True,
> startupinfo=startupinfo
> )
>
> This worked okay in using the subprocess module under python 2.6, but under
> python 2.7 I get the error:
>
> Exception in thread Thread-1:
> Traceback (most recent call last):
> File "threading.pyo", line 530, in __bootstrap_inner
> File "gui\mplayer_ctrl.pyo", line 93, in run
> AttributeError: 'module' object has no attribute 'STARTF_USESHOWWINDOW'
>
> Anything changed between python versions to account for this?
Yes, apparently the code importing that stuff got removed:
http://svn.python.org/view/python/tags/r27/Lib/subprocess.py?r1=79064&r2=82504
FWIW, STARTUPINFO(), STARTF_USESHOWWINDOW, and SW_HIDE were/are
undocumented in both Python versions and thus shouldn't be relied
upon. They can be accessed via Python's win32-specific modules instead
(see diff).
Cheers,
Chris
--
http://blog.rebertia.com
More information about the Python-list
mailing list