IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

os.system et chemins avec des espaces [Fait]


Sujet :

Python

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 45
    Points : 50
    Points
    50
    Par défaut os.system et chemins avec des espaces
    Sur windows, si je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    os.system("dir c:\\python24")
    Python me donne la liste des fichiers dans ce dossier.

    si je fais la même chose pour un chemin qui comporte des espaces cela ne marche pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    os.system("dir c:\\Program Files")
    le shell DOS se plaint et il semble qu'il interprète ce qu'il y a après les espaces comme des paramètres.

    Comment faire ?

  2. #2
    Invité
    Invité(e)
    Par défaut
    les deux \ sont nécessaires ?

    Essaie avec les noms de répertoire DOS => C:\PROGRAM~1\
    Ou avec "Program Files" mais je doute car tu as déjà des "

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 45
    Points : 50
    Points
    50
    Par défaut
    les deux \ sont nécessaires ?
    Oui je crois car Python s'attend sinon à un ordre derrière du type \t (tabulation) \n (saut de ligne) etc.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    print "a\\b"
     
    >>> a\b
     
    print "a\b"
     
    >>> a
    Mais bon le problème n'est pas là je peux aussi utiliser des / et python fait la conversion sous windows.

    Pour utiliser des chemins avec des espaces je jais qu'il y a une astuce genre des /C \C /D \D mais j'ai beau chercher sur Google je ne trouve pas pour l'instant

    Essaie avec les noms de répertoire DOS => C:\PROGRAM~1\
    Ou avec "Program Files" mais je doute car tu as déjà des "
    Nop.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 45
    Points : 50
    Points
    50
    Par défaut
    J'ai finalement cherché dans les codes des bouquins O'Reilly :
    http://labs.oreilly.com/code/

    En passant par une raw string r' bla bla ' et en utilisant des guillemets ça passe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    os.system(r' dir c:\"program files" ')
    => FAQ: http://python.developpez.com/faq/?pa...g#strBackslash
    => FAQ: http://python.developpez.com/faq/?pa...g#strRawString

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Gérer un chemin avec des espaces
    Par helaaa dans le forum MATLAB
    Réponses: 2
    Dernier message: 25/03/2013, 19h15
  2. Problème avec un chemin ayant des espaces
    Par sylsau dans le forum Entrée/Sortie
    Réponses: 0
    Dernier message: 24/04/2009, 21h53
  3. Réponses: 10
    Dernier message: 22/08/2008, 14h47
  4. Problème de chemin de fichier avec des espaces
    Par Akronyme dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 11/12/2006, 17h12
  5. Réponses: 18
    Dernier message: 28/08/2006, 23h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo