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'
>>>
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
pbouige
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>)
In article <BYpTh.100975$nh4.78718@newsfe20.lga>, 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
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