Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1772 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  os.system ==> ne marche pas

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

os.system ==> ne marche pas

n°1861846
castorgris
===>Miaou<===
Posté le 15-03-2009 à 19:33:23  profilanswer
 

Bonjour,
 
J'ai un ptit problème : je dois lancer une commande windows à partir d'un script écrit en python. J'ai donc tenté d'utiliser os.system. Mais sans succé.
J'ai droit à une message disant :  

Citation :

the filename, the directory n ame, or volume label syntax is incorrect


 
la commande en question :  

Citation :

os.system("c:\ABAQUS\Commands\abaqus.bat cae noGUI=c:\Temp\Macro_modele_2_step_statique_metre_temp" )


 
A savoir, que les noms de répertoire sont correcte, puisque la commande entre les "" renvoi le résultat voulu si elle es entré dans une invite de commande.
 
Quelqu'un aurait-il une idée ?


Message édité par castorgris le 15-03-2009 à 19:33:53

---------------
Mon Feed-back
mood
Publicité
Posté le 15-03-2009 à 19:33:23  profilanswer
 

n°1861864
Gf4x3443
Killing perfection
Posté le 15-03-2009 à 20:42:16  profilanswer
 
n°1861912
castorgris
===>Miaou<===
Posté le 15-03-2009 à 22:48:24  profilanswer
 

??


---------------
Mon Feed-back
n°1861917
Gf4x3443
Killing perfection
Posté le 15-03-2009 à 23:26:07  profilanswer
 

Avec ce génialissime OS qu'est windows, faut pas échapper les '\' quand on rentre des commandes system()?


---------------
Petit guide Kerberos pour l'administrateur pressé
n°1861922
Taz
bisounours-codeur
Posté le 15-03-2009 à 23:58:28  profilanswer
 

rien à voir avec windows, \ c'est le caractère d'échappement c'est tout.

n°1861923
Gf4x3443
Killing perfection
Posté le 16-03-2009 à 00:07:59  profilanswer
 

Et le séparateur de chemin sous DOS. Donc quand on copie/colle depuis un shell DOS...


---------------
Petit guide Kerberos pour l'administrateur pressé
n°1861925
masklinn
í dag viðrar vel til loftárása
Posté le 16-03-2009 à 00:22:07  profilanswer
 

Gf4x3443 a écrit :

Et le séparateur de chemin sous DOS. Donc quand on copie/colle depuis un shell DOS...


on utilise des rawstrings [:glenda]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1861926
KangOl
Profil : pointeur
Posté le 16-03-2009 à 00:23:15  profilanswer
 

et subprocess


---------------
Nos estans firs di nosse pitite patreye...
n°1861929
Gf4x3443
Killing perfection
Posté le 16-03-2009 à 00:31:50  profilanswer
 
n°1861931
masklinn
í dag viðrar vel til loftárása
Posté le 16-03-2009 à 00:44:17  profilanswer
 

Gf4x3443 a écrit :


 
et os.sep [:glenda]


[:vomi]
 
os.path.join à la limite, mais pas os.sep directrement [:totoz]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
mood
Publicité
Posté le 16-03-2009 à 00:44:17  profilanswer
 

n°1861937
Gf4x3443
Killing perfection
Posté le 16-03-2009 à 01:40:11  profilanswer
 


 
C'est à peu près ce que j'en pense de l'utilisation des raw string en python pour le codage de chemins sous windows.
 
Elles n'ont jamais été prévues pour cet usage, mais pour les regexp, les détourner à cela, c'est vraiment une balle dans le pied, en plus d'être non portable. Ca me fait un peu penser aux aberrations auxquelles ont mené les magic_quotes de PHP [:ddr555]


---------------
Petit guide Kerberos pour l'administrateur pressé
n°1862002
castorgris
===>Miaou<===
Posté le 16-03-2009 à 10:05:08  profilanswer
 

Oula j'ai peur...
J'ai pas compri un seul des posts de réponse...
toujours est-il que en remplaçant mes \ par des / ça donne ce que je veux. Maintenant je laisse expliquer ce qui savent pourquoi !


---------------
Mon Feed-back
n°1862019
masklinn
í dag viðrar vel til loftárása
Posté le 16-03-2009 à 10:58:15  profilanswer
 

Gf4x3443 a écrit :

Elles n'ont jamais été prévues pour cet usage, mais pour les regexp


Bullshit, si ça avait été le cas Python aurait des regexp littérales comme Perl ou Ruby, pas des rawstrings. Les rawstrings ont été prévus pour quelque chose de très clair: empêcher l'interprétation des séquences d'échappement. C'est très utile pour le regexps, mais c'est sûrement pas leur seul domaine d'application.

Gf4x3443 a écrit :

en plus d'être non portable.


On est dans un thread parlant d'un path windows en dur dans le script, je suis pas persuadé que la portabilité soit d'une grande importance.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1862161
Gf4x3443
Killing perfection
Posté le 16-03-2009 à 16:37:06  profilanswer
 

masklinn a écrit :


Bullshit, si ça avait été le cas Python aurait des regexp littérales comme Perl ou Ruby, pas des rawstrings. Les rawstrings ont été prévus pour quelque chose de très clair: empêcher l'interprétation des séquences d'échappement. C'est très utile pour le regexps, mais c'est sûrement pas leur seul domaine d'application.

 

Bullshit.

 

Sauf à la fin. Comme implémentation, c'est particulièrement broken alors. Pour des chemins sous windows en tout cas. T'essaieras des "str = r'C:\WIndows\'

 

Conseiller des raw string literals pour ca, mouarff.

 
masklinn a écrit :


On est dans un thread parlant d'un path windows en dur dans le script, je suis pas persuadé que la portabilité soit d'une grande importance.

 

Voir au dessus.

Message cité 1 fois
Message édité par Gf4x3443 le 16-03-2009 à 16:37:21

---------------
Petit guide Kerberos pour l'administrateur pressé
n°1862176
masklinn
í dag viðrar vel til loftárása
Posté le 16-03-2009 à 17:04:50  profilanswer
 

Gf4x3443 a écrit :

Bullshit.
 
Sauf à la fin.


Oui sauf à la fin.

Gf4x3443 a écrit :

Comme implémentation, c'est particulièrement broken alors. Pour des chemins sous windows en tout cas. T'essaieras des "str = r'C:\WIndows\'


r'c:\windows' [:spamafote]

Gf4x3443 a écrit :

Conseiller des raw string literals pour ca, mouarff.


Ca fonctionne suffisamment bien pour 99% des scripts "one shot"


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1862215
Gf4x3443
Killing perfection
Posté le 16-03-2009 à 18:19:46  profilanswer
 

masklinn a écrit :


r'c:\windows' [:spamafote]

 

On contourne une implémentation broken alors que sémantiquement parlant, c'est strictement identique. On peut pas dire que ca soit une réussite de recommander l'usage d'une raw string pour un path windows.

 
masklinn a écrit :


Ca fonctionne suffisamment bien pour 99% des scripts "one shot"

 

Bah oui tiens, vu que ca marche dans 99% des cas, acceptons ce genre de bidouilles. Au même titre, on conseillera de ne pas catcher les exceptions ni les erreurs après syscalls, vu que ca marche dans 99% des cas. Désolé, de mon point de vue, c'est un mauvais conseil. J'ai pas lu qu'il était question d'en faire un script "one shot", d'ailleurs.

 

Edit: Avec la tendance vers le cargo cult programming, c'est vraiment la tunique de nessus ce truc.

 

Bref, nous ne seront pas d'accord sur ce point là, laissons à ceux qui liront à l'avenir le sujet de juger par eux mêmes. Fin du débat pour moi.

 


Message édité par Gf4x3443 le 16-03-2009 à 18:22:11

---------------
Petit guide Kerberos pour l'administrateur pressé

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  os.system ==> ne marche pas

 

Sujets relatifs
onclick ne marche pas sous firefoxlistes déroulantes liées ne marche pas avec firefox
mon site ne marche pas sur IE mais parfaitement sur firefoxprogramme marche en mode normal mais pas en mode debug
compteur de visite qui ne marche pasTest type mime d'un fichier envoyé par un input sous IE ne marche pas
application du system de cryptage XOR en cbatch pour charger le system d'exploitation dans la ram au démarrage ?
AJAX + onblur + IE : ne marche pas[htaccess] Anti SPAM qui marche pas ...
Plus de sujets relatifs à : os.system ==> ne marche pas


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR