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 :

Normaliser un chemin de fichier en inhibant les whitespaces


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 22
    Par défaut Normaliser un chemin de fichier en inhibant les whitespaces
    Bonjour tout le monde !

    J'ai encore une question à vous soumettre .

    Voilà dans mon programme j'ai un fchier de configuration dans lequel les utilisateurs viennent indiquer diverses infos dont le programme à besoin pour vivre.

    Seulement j'ai un souci avec les noms de répertoire.

    Pour mes tests j'ai tout mis dans ce répertoire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    path = 'C:\travail\05-dvpt-appli\xml'
    Et le problème c'est que j'aimerai rendre ce chemin valide à coup sûr.
    Je sais qu'il existe des fonctions telles que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #exemple 1:
    import os.path
    path = 'C:\travail\05-dvpt-appli\xml'
    path = os.path.normpath(path)
    ou bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    exemple 2:
    import string
    path='C:\travail\05-dvpt-appli\xml'
    path=string.replace(path, '\', '\\') #remplace les \ par des \\
    Le problème c'est qu'il me dit que \x est invalide dans la variable path.

    Voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    >>> path = 'C:\travail\05-dvpt-appli\xml'
    Traceback (ValueError: invalid \x escape
    >>> 
    >>> path = str('C:\travail\05-dvpt-appli\xml')
    Traceback (ValueError: invalid \x escape
    Le hic c'est que \x c'est dans le chemin d'accès.
    Comme vous le voyez j'ai essayé de faire un cast par un str mais rien n'y fait.

    Savez-vous comment je peux me dépatouiller du fait que python interprète les caractères tels que \t, \x... ???
    (j'ai lu dans la doc de string que ces caractères sont des whitespaces apparemment )

    Merci d'avance

    ffets

  2. #2
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 11
    Par défaut
    Salut,

    Pour ton problème, il faut doubler les \ pour qu'ils ne soient plus interprétés :
    path = 'C:\\travail\\05-dvpt-appli\\xml'

    sinon pour ce genre de choses autant laisser Python se débrouiller comme un grand en fonction de l'OS :
    - os.sep qui te file le séparateur en fonction de l'OS
    - os.path.join(path) avec path étant une liste des dossiers de ton path

  3. #3
    Expert confirmé
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Par défaut
    sinon avec les raw_string ( http://python.developpez.com/faq/?pa...g#strRawString )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    path = r'C:\travail\05-dvpt-appli\xml'

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 22
    Par défaut les raw string c'est bien !
    Bonjour,

    Merci pour vos réponses.
    Je ne connaissais pas les raw string et c'est plutôt pas mal.

    J'adopte !!

    Merci à vous pour les infos.

    @+
    ffets

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

Discussions similaires

  1. Les chemins des fichiers includes et lib Sous Viual 2010
    Par GGUIHAL dans le forum Visual Studio
    Réponses: 2
    Dernier message: 09/01/2010, 12h44
  2. [CKEditor] Quels sont les variables pour les chemins de fichier pendant l'appel de new fckEditor
    Par Alexandrebox dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 06/05/2009, 16h29
  3. Empaquetage : modifier les chemins des fichiers inclus
    Par AndréPe dans le forum Installation, Déploiement et Sécurité
    Réponses: 3
    Dernier message: 21/08/2008, 11h56
  4. Caractères transformés dans les chemins de fichier
    Par canabral dans le forum Langage
    Réponses: 4
    Dernier message: 15/12/2005, 15h24
  5. Réponses: 10
    Dernier message: 24/10/2005, 16h37

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