subprocess.Popen on Windows

mmamsch remove_me_mmamsch at googlemail.com
Sat Jun 24 13:12:25 EDT 2006


On 23.06.2006 23:12:02, "3c273" wrote:
>"madpython" <madpython at gmail.com> wrote in message
>news:1151094433.181414.164410 at g10g2000cwb.googlegroups.com...
>> playing with subprocess.Popen on Windows I stumbled into the following
>> problem:
>> Python 2.4.3 (#69, Mar 29 2006, 17:35:34)
>>
>> IDLE 1.1.3
>>
>> >>> import subprocess
>> >>> p1=subprocess.Popen("c:\\asd.bat") #works OK
>> >>> p2=subprocess.Popen("c:\\asd.bat",stdout=subprocess.PIPE)
>>
>> Traceback (most recent call last):
>>   File "<pyshell#2>", line 1, in -toplevel-
>>     p2=subprocess.Popen("c:\\asd.bat",stdout=subprocess.PIPE)
>>   File "C:\Python24\lib\subprocess.py", line 533, in __init__
>>     (p2cread, p2cwrite,
>>   File "C:\Python24\lib\subprocess.py", line 593, in _get_handles
>>     p2cread = self._make_inheritable(p2cread)
>>   File "C:\Python24\lib\subprocess.py", line 634, in _make_inheritable
>>     DUPLICATE_SAME_ACCESS)
>> TypeError: an integer is required
>> >>>
>> What do I do wrongly?
>>
>I get the same thing. This only happens when using IDLE. From a command
>prompt, everthing works as expected. Hopefully somebody else will know why.
>Louis
>
>

I think IDLE replaces the sys.stdin and sys.stdout by a class to redirect IO.
So when using IDLE stdin and stdout are not integer handles anymore.

Greetings, Mathias



More information about the Python-list mailing list