Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problem popen2 sous winXP ??

12 réponses
Avatar
pbouige
Bonjour,

J'ai plusieurs machines PC winxp, sur l'une impossible de
faire du popen alors que ça fonctionne sur les autres...
testé sur python 2.3 et 2.4 :-(
Quelqu'un à une explication ?

Merci pour votre aide :-)

PS : j'ai ré-installé python mais j'ai toujours le même
problème :-((

Python 2.3.5 (#62, Feb 8 2005, 16:23:02) [MSC v.1200 32 bit
(Intel)] on win32
Type "help", "copyright", "credits" or "license" for more
information.
>>>
>>>
>>> import popen2
>>>
>>> popen2.popen2('dir')
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "C:\Python23\lib\popen2.py", line 126, in popen2
w, r = os.popen2(cmd, mode, bufsize)
WindowsError: [Errno 123] Syntaxe du nom de fichier, de
rÚpertoire ou de volume
incorrecte: 'C:\\WINDOWS\\system32\\cmd.exe;C:\\Program
Files\\PostgreSQL\\8.1\
bin /c dir'
>>>

10 réponses

1 2
Avatar
hg
Philippe Bouige wrote:

Bonjour,

J'ai plusieurs machines PC winxp, sur l'une impossible de
faire du popen alors que ça fonctionne sur les autres...
testé sur python 2.3 et 2.4 :-(
Quelqu'un à une explication ?

Merci pour votre aide :-)

PS : j'ai ré-installé python mais j'ai toujours le même
problème :-((

Python 2.3.5 (#62, Feb 8 2005, 16:23:02) [MSC v.1200 32 bit
(Intel)] on win32
Type "help", "copyright", "credits" or "license" for more
information.


import popen2

popen2.popen2('dir')
Traceback (most recent call last):



File "<stdin>", line 1, in ?
File "C:Python23libpopen2.py", line 126, in popen2
w, r = os.popen2(cmd, mode, bufsize)
WindowsError: [Errno 123] Syntaxe du nom de fichier, de
rÚpertoire ou de volume
incorrecte: 'C:WINDOWSsystem32cmd.exe;C:Program
FilesPostgreSQL8.1
bin /c dir'







Je comprends peut être mal, qu'y a t'il dans cmd ?

hg




Avatar
hg
Philippe Bouige wrote:

In article <qCpTh.9843$, hg wrote:



Je comprends peut être mal, qu'y a t'il dans cmd ?

Euh, c'est quoi la question ? cmd.exe est un executable win.



J'ai pas eu mon premier café désolé:

w, r = os.popen2(cmd, mode, bufsize)



cmd est bien une chaîne de charactère dans laquelle du charges le chemin du
programme que tu comptes lancer, non ?

hg


Avatar
hg
Jerome wrote:

hg wrote:
Philippe Bouige wrote:

In article <qCpTh.9843$, hg wrote:


Je comprends peut être mal, qu'y a t'il dans cmd ?

Euh, c'est quoi la question ? cmd.exe est un executable win.



J'ai pas eu mon premier café désolé:

w, r = os.popen2(cmd, mode, bufsize)



cmd est bien une chaîne de charactère dans laquelle du charges le chemin
du programme que tu comptes lancer, non ?


Tu devrais en reprendre un deuxième alors :)

la commande qu'il passe c'est 'dir'

la ligne w, r = os.popen2(cmd, mode, bufsize) est ce que renvoit le
traceback qui est un peu bizarre.

Est-ce que tu as l'erreur en lançant ton script ailleurs dans la
hierarchie du filesystem ?


hg




oops, désolé, j'ai effectivement mal lu la trace.

hg




Avatar
hg
Philippe Bouige wrote:

In article <BYpTh.100975$, hg wrote:

J'ai pas eu mon premier café désolé:

w, r = os.popen2(cmd, mode, bufsize)



cmd est bien une chaîne de charactère dans laquelle du charges
le chemin du programme que tu comptes lancer, non ?


Oui... ou plus exactement le programme DOS ici 'dir', lecture du
répertoire courant.

import popen2
popen2.popen2('dir')




Bon reprend un deuxième café ;-)

Voici la solution à mon problème, il y a tout simplement
une variable d'environnement système dans Windows qui se nomme
ComSpec. Cette dernière avait le chemin complet de cmd.exe +
celui de postgresql d'ou l'erreur 123 :-(((
J'ai donc ramené ComSpec à C:Windowssysteme32cmd.exe
et Oh miracle ;-)

import popen2
popen2.popen2('dir')
(<open file 'dir', mode 'r' at 0x009CCFA0>, <open file 'dir', mode 'w' at



0x009C C820>)



ça fais un quard d'heure que je tente de corrompre 'PATH' :-)

hg




Avatar
Laurent Pointal
Bonjour,

J'ai plusieurs machines PC winxp, sur l'une impossible de
faire du popen alors que ça fonctionne sur les autres...
testé sur python 2.3 et 2.4 :-(
Quelqu'un à une explication ?

Merci pour votre aide :-)

PS : j'ai ré-installé python mais j'ai toujours le même
problème :-((

Python 2.3.5 (#62, Feb 8 2005, 16:23:02) [MSC v.1200 32 bit
(Intel)] on win32
Type "help", "copyright", "credits" or "license" for more
information.

import popen2

popen2.popen2('dir')
Traceback (most recent call last):



File "<stdin>", line 1, in ?
File "C:Python23libpopen2.py", line 126, in popen2
w, r = os.popen2(cmd, mode, bufsize)
WindowsError: [Errno 123] Syntaxe du nom de fichier, de
rÚpertoire ou de volume
incorrecte: 'C:WINDOWSsystem32cmd.exe;C:Program
FilesPostgreSQL8.1
bin /c dir'


C'est en effet bizarre... 'C:WINDOWSsystem32cmd.exe;C:Program
FilesPostgreSQL8.1' on peut comprendre qu'il ait du mal à faire le
dir.
Ca viens d'où le ';C:Program FilesPostgreSQL8.1' (ça ressemble à
un morceau de PATH).

As-tu essayé avec subprocess ?




Avatar
JBB
Bonjour,

J'ai plusieurs machines PC winxp, sur l'une impossible de
faire du popen alors que ça fonctionne sur les autres...
testé sur python 2.3 et 2.4 :-(
Quelqu'un à une explication ?

Merci pour votre aide :-)

PS : j'ai ré-installé python mais j'ai toujours le même
problème :-((

Python 2.3.5 (#62, Feb 8 2005, 16:23:02) [MSC v.1200 32 bit
(Intel)] on win32
Type "help", "copyright", "credits" or "license" for more
information.

import popen2

popen2.popen2('dir')
Traceback (most recent call last):



File "<stdin>", line 1, in ?
File "C:Python23libpopen2.py", line 126, in popen2
w, r = os.popen2(cmd, mode, bufsize)
WindowsError: [Errno 123] Syntaxe du nom de fichier, de
rÚpertoire ou de volume
incorrecte: 'C:WINDOWSsystem32cmd.exe;C:Program
FilesPostgreSQL8.1
bin /c dir'
Cette trace est très étrange.

Est tu sur de tes paramètres d'appels?




Avatar
pbouige
In article <evkor5$4gk$, JBB wrote:
WindowsError: [Errno 123] Syntaxe du nom de fichier, de
rÚpertoire ou de volume
incorrecte: 'C:WINDOWSsystem32cmd.exe;C:Program
FilesPostgreSQL8.1
bin /c dir'
Cette trace est très étrange.

Est tu sur de tes paramètres d'appels?

sys.path
['', 'C:TmpTestClassVariable', 'C:WINDOWSsystem32python23.zip', 'C:



Python23', 'C:Python23DLLs', 'C:Python23lib', 'C:Python23libplat-
win', 'C:Python23liblib-tk', 'C:Python23libsite-packages', 'C:Pyth
on23libsite-packageswin32', 'C:Python23libsite-packageswin32lib'
, 'C:Python23libsite-packagesPythonwin']



Avatar
pbouige
In article <evkoip$58k$, Laurent Pointal wrote:

Ca viens d'où le ';C:Program FilesPostgreSQL8.1' (ça ressemble à
un morceau de PATH).


Aucune idée voici mon path:

sys.path
['', 'C:TmpTestClassVariable', 'C:WINDOWSsystem32python23.zip', 'C:



Python23', 'C:Python23DLLs', 'C:Python23lib', 'C:Python23libplat-
win', 'C:Python23liblib-tk', 'C:Python23libsite-packages', 'C:Pyth
on23libsite-packageswin32', 'C:Python23libsite-packageswin32lib'
, 'C:Python23libsite-packagesPythonwin']

la variable PATH d'environnement windows est :

%GTK_BASEPATH%bin;C:Program FilesPostgreSQL8.2bin;C:Wbin;
C:Python24Scripts;C:Program FilesCVSNT;C:Python23Scripts

et le PYTHONPATH est vide.

As-tu essayé avec subprocess ?


Malheureusement, ça donne le même problème :-(((



Avatar
Laurent Pointal
In article <evkoip$58k$, Laurent Pointal wrote:

Ca viens d'où le ';C:Program FilesPostgreSQL8.1' (ça ressemble à
un morceau de PATH).


Aucune idée voici mon path:

sys.path
['', 'C:TmpTestClassVariable', 'C:WINDOWSsystem32python23.zip', 'C:



Python23', 'C:Python23DLLs', 'C:Python23lib', 'C:Python23libplat-
win', 'C:Python23liblib-tk', 'C:Python23libsite-packages', 'C:Pyth
on23libsite-packageswin32', 'C:Python23libsite-packageswin32lib'
, 'C:Python23libsite-packagesPythonwin']

la variable PATH d'environnement windows est :

%GTK_BASEPATH%bin;C:Program FilesPostgreSQL8.2bin;C:Wbin;
C:Python24Scripts;C:Program FilesCVSNT;C:Python23Scripts

et le PYTHONPATH est vide.

As-tu essayé avec subprocess ?


Malheureusement, ça donne le même problème :-(((


Très très étonnant: la chaîne extra qui gène contient ";C:Program
FilesPostgreSQL8.1" et non pas 8.2...

T'aurais pas une vérole dans un fichier Windows qq part ?

Essaie peut-être de lancer ça avec le débogueur Python pdb, voir si tu
peux identifier d'où viens la chaîne de trop... si ça continue...
comp.lang.python...




Avatar
pbouige
In article <qCpTh.9843$, hg wrote:



Je comprends peut être mal, qu'y a t'il dans cmd ?

Euh, c'est quoi la question ? cmd.exe est un executable win.


1 2