OVH Cloud OVH Cloud

os.system et les espaces dans les chemins

11 réponses
Avatar
Titouille
Bonjour à tous !!!


Je rencontre un problème avec la commande os.system, et je ne sais
comment la résoudre...

Tout d'abord, le cadre :

création d'une appli pour windows, avec wxpython (intégration Flash)

J'ai besoin d'une commande me permettant d'ouvrir un répertoire sur le
disque : os.system( 'explorer.exe ' + path )

J'ai besoin d'une commande me permettant de lancer un exécutable sur le
disque : os.system( path + "monExecutable.exe" )

Enfin, j'ai besoin d'une commande me permettant de lancer un exécutable
en lui passant des paramètres : os.system( pathExe + "myExe execute "
+inputFile + " " + outputFile );


Bon, j'ai fait mon application sur un chemin sans espace
(e:\projects\python\myproject\build\, ayant l'habitude de le faire de
cette manière. Et bien sur, lorsque mon client l'a testée, il a placé ça
sur le bureau, donc "/Documents and Settings/", un chemin contenant des
espaces.

Et là, tout est foireux... Les commandes python fonctionnent très bien
(genre copyFile ou copyTree) mais os.system me fait des misères en me
spécifiant que 'c:\Documents' n'est pas reconnu en tant que commande
interne ou externe valide, blablabla...

J'ai essayé de passer les chemins entre guillemets, mais le problème reste.
Est-ce qu'il existe une solution pour continuer à utiliser os.system ?
ou alors une ou plusieurs autres commandes qui me permettent de faire
les mêmes actions sans être confronté à ce genre de problèmes ??


D'avance merci pour les suggestions :)

a++
Thierry

1 réponse

1 2
Avatar
Do Re Mi chel La Si Do
Re

Il existe un module subprocess pour Python 2.3 ; il est disponibles chez
Effbot, et a servi de base à celui de Python 2.4

@-salutations

Michel Claveau
1 2