Perché ricevo un SyntaxError per un escape Unicode nel percorso del mio file?


105

La cartella che voglio raggiungere si chiama python e si trova sul mio desktop.

Ottengo il seguente errore quando provo ad accedervi

>>> os.chdir('C:\Users\expoperialed\Desktop\Python')
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

8
Prova s.chdir(r'C:\Users\expoperialed\Desktop\Python'); leggi: docs.python.org/2/reference/…
NullUserException

Risposte:


168

È necessario utilizzare un grezzo di stringa, raddoppiare le barre o utilizzare slash invece:

r'C:\Users\expoperialed\Desktop\Python'
'C:\\Users\\expoperialed\\Desktop\\Python'
'C:/Users/expoperialed/Desktop/Python'

Nelle stringhe Python regolari, la \Ucombinazione di caratteri segnala una fuga estesa del punto di codice Unicode.

Puoi colpire un numero qualsiasi di altri problemi, per una qualsiasi delle sequenze di escape riconosciute , come \ao to \x, ecc.


Non mi aiuta :(
Dmitry

1
@Dmitry il tuo commento non aiuta nessuno. Mi dispiace, la risposta non ti ha aiutato a risolvere il tuo problema, ma come potrò migliorare il mio post con quel feedback?
Martijn Pieters

Guarda la mia risposta qui sotto.
Dmitry

@Dmitry: questo è un problema diverso e ha poco a che fare con le stringhe letterali. Ci sono altri post sul sito che gestiscono il raw_unicode_escapecodec. Che un pacchetto specifico abbia un bug che genera la stessa eccezione non è davvero una risposta a questa domanda specifica, quindi l'ho cancellato di nuovo (la comunità lo aveva già cancellato prima). Sospetto che ci siano modi migliori per risolvere quel bug specifico (come non arrivare al punto in cui devi usarlo raw_unicode_escapein primo luogo).
Martijn Pieters

10

C:\\Users\\expoperialed\\Desktop\\Python Questa sintassi ha funzionato per me.


7

Questo di solito accade in Python 3. Uno dei motivi comuni sarebbe che mentre si specifica il percorso del file è necessario "\\" invece di "\". Come in:

filePath = "C:\\User\\Desktop\\myFile"

Per Python 2, basta usare "\".


5
f = open('C:\\Users\\Pooja\\Desktop\\trolldata.csv')

Usa "\\" per il programma Python in Python versione 3 e successive .. L'errore verrà risolto ..


perché tripla `\`? Modifica errore di battitura? Ok ora vedo la cronologia dei post e qualcuno ha corretto la formattazione non abbastanza attentamente, quindi l'ho risolto. Acquisisci familiarità con le funzionalità SO .
Marek R,

1

Tutte e tre le sintassi funzionano molto bene.

Un altro modo è scrivere prima

path = r'C: \ user \ ................... '(qualunque sia il percorso per te)

e poi passandolo a os.chdir (percorso)


0

Usa questo

os.chdir('C:/Users\expoperialed\Desktop\Python')

-1

Ho avuto lo stesso errore. Fondamentalmente, sospetto che il percorso non possa iniziare con "U" o "Utente" dopo "C: \". Ho cambiato la mia directory in "c: \ file_name.png" inserendo il file a cui voglio accedere da Python proprio sotto il percorso "c: \".

Nel tuo caso, se devi accedere alla cartella "python", forse reinstalla il python e cambia il percorso di installazione in qualcosa come "c: \ python". Altrimenti, evita semplicemente "... \ Utente ..." nel tuo percorso e metti il ​​tuo progetto in C :.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.