Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

subprocess problem

625 views
Skip to first unread message

Do Re Mi chel La Si Do

unread,
Sep 28, 2005, 1:08:09 AM9/28/05
to
Hi!

This script (under Win-XP + P-2.4.1) :
import subprocess
p1=subprocess.Popen(r'cmd /cdir *.* /S /W /B', stdout=subprocess.PIPE)
chaineretour=p1.stdout.read()

run OK if called from DOS-console. But, from another Python's script (by COM
+ exec) give me an error.

Here, the traceback :

Traceback (most recent call last):
File "D:\dev\Python\ponx.py", line 4446, in PRun
exec(ccod,globals(),globals())
File "C:\Python24\lib\subprocess.py", line 546, in __init__
(p2cread, p2cwrite,
File "C:\Python24\lib\subprocess.py", line 606, in __get_handles__
p2cread = self._make_inheritable(p2cread)
File "C:\Python24\lib\subprocess.py", line 647, in _make_inheritable
DUPLICATE_SAME_ACCESS)
error: (6, 'DuplicateHandle','Descripteur non valide')


I know the bug-signaled : http://python.org/sf/1124861


But... a idea for a solution ?

Thanks, and sorry for my bad english.


Michel Claveau

Uri Nix

unread,
Sep 28, 2005, 2:10:27 AM9/28/05
to
Hi,

I had a similar problem recently, and found that using pipes with
os.popen* helped in my case.
You can check the thread at:
http://mail.python.org/pipermail/python-list/2005-September/300744.html.

Cheers,
Uri

Do Re Mi chel La Si Do

unread,
Sep 29, 2005, 4:33:23 PM9/29/05
to
Hi !

Thank you very much.

With your tip, this script :

import os
p = os.popen4(r'cmd /k')
p[0].write('dir *.bat /B\r\n')
p[0].flush()
p[0].write('dir *.cfg \r\n')
p[0].flush()
p[0].write('exit\r\n')
p[0].flush()
print ''.join(p[1].readlines())

run perfectly

@-salutations

Michel Claveau

0 new messages