2009-03-31 4 views
0

J'ai un problème avec un peu de code sur une machine Windows, mais pas toutes les machines Windows. J'ai le code suivant:naviguer à travers les différentes lettres de lecteur dans python os.system

path = "F:/dir/" 
os.system(path[0:2] + " && cd " + path + " && git init") 

Sur tous, mais un de mes systèmes Windows, il fonctionne très bien, mais sur un ordinateur Windows serveur 2003, il donne une erreur « répertoire introuvable » mais si je lance la même commande plate de la commande prompt que cela fonctionne.

Je suis désolé si ma question se détache aussi vague mais je suis totalement déconcerté par

Répondre

3

os.path contient de nombreuses fonctions de manipulation de chemin de UTILE. Probablement juste en manipulant le chemin proprement va résoudre votre problème.

>>> import os 
>>> 
>>> 
>>> path = "F:/dir/" 
>>> 
>>> clean_path = os.path.normpath(path) 
>>> clean_path 
'F:\\dir' 
>>> drive, directory = os.path.splitdrive(clean_path) 
>>> drive 
'F:' 
>>> directory 
'\\dir' 

En outre, vous voudrez peut-être regarder dans le module subprocess, il vous donne plus de contrôle sur les processus.

Replacing Older Functions with the subprocess Module