J'essaie de changer le répertoire de travail actuel dans Python en utilisant os.chdir. J'ai le code suivant:
import os
os.chdir("C:\Users\Josh\Desktop\20130216")
Cependant, lorsque je l'exécute, il semble que le répertoire change, car le message d'erreur suivant s'affiche:
Traceback (most recent call last):
File "C:\Users\Josh\Desktop\LapseBot 1.0\LapseBot.py", line 3, in <module>
os.chdir("C:\Users\Josh\Desktop\20130216")
WindowsError: [Error 2] The system cannot find the file specified
'C:\\Users\\Josh\\Desktop\x8130216'
Quelqu'un peut-il m'aider?
Python interprète la partie \2013
du chemin en tant que séquence d'échappement \201
, qui correspond au caractère \x81
, qui est ü (et bien sûr, C:\Users\Josh\Desktopü30216
n'existe pas).
Utilisez une chaîne brute pour vous assurer que Python n'essaie pas d'interpréter quoi que ce soit après un \
en tant que séquence d'échappement.
os.chdir(r"C:\Users\Josh\Desktop\20130216")
Vous pouvez également utiliser os.path.join
( documentation ). Exemple:
os.chdir(os.path.join('C:\Users\Josh\Desktop', '20130216'))
Ceci est plus élégant + il est compatible avec différents systèmes d'exploitation.
Cela devrait marcher -
os.chdir("C:\Users\Josh\Desktop\\20130216")
Il y a deux utilisateurs à utiliser os.chdir()
:
Si vous utilisez une chaîne brute, utilisez une simple barre oblique inverse \
:
os.chdir (r "C:\Utilisateurs\Josh\Bureau\20130216")
ou
Si vous n'utilisez pas de chaîne brute, utilisez une double barre oblique inversée \\
os.chdir ("C:\Utilisateurs\Josh\Bureau\20130216")