Chemin d'accès Windows en Python
Quel est le meilleur moyen de représenter un répertoire de Windows, par exemple "C:\meshes\as"
? J'ai essayé de modifier un script mais il ne fonctionne jamais parce que je n'arrive pas à obtenir le répertoire de droit, je suppose à cause de la '\'
agissant comme caractère d'échappement?
Vous devez vous connecter pour publier un commentaire.
vous pouvez toujours utiliser:
cela fonctionne à la fois sous linux et windows.
Autre possibilité est
si vous avez des problèmes avec certains noms vous pouvez également essayer de raw littéraux de chaîne:
cependant, la meilleure pratique consiste à utiliser la
os.path
les fonctions du module de toujours sélectionner la bonne configuration pour votre système d'exploitation:De python 3.4, vous pouvez également utiliser le pathlib module. C'est equivelent à la ci-dessus:
ou
Utiliser le
os.path
module.Ou utiliser des chaînes de
"C:\"
comme la première entrée? Ne fait que gâcher certains de propreté de l'aidejoin
?"C:\"
au milieu du nom de fichier. En outre, vous pouvez utiliseros.path.normpath
avant ou après une inscription, assurez-vous que le chemin d'accès s'affiche bien.os.path.join( "C:\\", "meshes", "as" )
Oui,
\
en Python littéraux de chaîne indique le début d'une séquence d'échappement. Dans votre chemin d'accès valide à deux caractères de la séquence d'échappement\a
, qui est réduite en un personnage qui est ASCII Bell:Autres séquences d'échappement comprennent
\t
(onglet),\n
(saut de ligne),\r
(retour chariot):Comme vous pouvez le voir, dans tous ces exemples, la barre oblique inverse et le caractère suivant dans le sens littéral ont été regroupés pour former un seul caractère dans la chaîne finale. La liste complète de Python séquences d'échappement est ici.
Il existe une variété de façons de traiter avec que:
Python ne traitera pas les séquences d'échappement dans les chaînes de caractères littérales avec le préfixe
r
ouR
:Python sur Windows doit gérer des barres obliques, trop.
Vous pouvez utiliser
os.chemin d'accès.join
...... ou la plus récente
pathlib
module