Почему я получаю SyntaxError для экранирования Unicode в моем пути к файлу?

106

Папка, в которую я хочу попасть, называется python и находится на моем рабочем столе.

Я получаю следующую ошибку, когда пытаюсь добраться до нее

>>> os.chdir('C:\Users\expoperialed\Desktop\Python')
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
вдохновленный
источник
8
Попробуйте s.chdir(r'C:\Users\expoperialed\Desktop\Python'); читайте: docs.python.org/2/reference/…
NullUserException

Ответы:

169

Вам нужно использовать необработанную строку, удвоить косую черту или вместо нее использовать косую черту:

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

В обычных строках Python \Uкомбинация символов сигнализирует о расширенном escape-коде Unicode.

Вы можете решить любое количество других проблем для любой из распознанных управляющих последовательностей , таких как \aили \tили \xи т. Д.

Мартейн Питерс
источник
10

C:\\Users\\expoperialed\\Desktop\\Python Этот синтаксис у меня сработал.

папа
источник
7

Обычно это происходит в Python 3. Одна из распространенных причин заключается в том, что при указании пути к файлу вам нужно «\\» вместо «\». Как в:

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

Для Python 2 подойдет просто "\".

кодировщик
источник
5
f = open('C:\\Users\\Pooja\\Desktop\\trolldata.csv')

Используйте '\\' для программы Python в версии Python 3 и выше. Ошибка будет устранена.

Пуджа таяде
источник
почему тройной `\`? Редактируете опечатку? Хорошо, теперь я вижу историю сообщений, и кто-то недостаточно тщательно исправил форматирование, поэтому я это исправил. Пожалуйста, ознакомьтесь с функциями SO .
Марек Р.
1

Все три синтаксиса работают очень хорошо.

Другой способ - сначала написать

path = r'C: \ user \ ................... '(независимо от вашего пути)

а затем передать его в os.chdir (путь)

СПК
источник
0

Использовать это

os.chdir('C:/Users\expoperialed\Desktop\Python')
Pygirl
источник
-1

У меня была такая же ошибка. В принципе, я подозреваю, что путь не может начинаться ни с «U», ни с «User» после «C: \». Я изменил свой каталог на "c: \ file_name.png", поместив файл, к которому я хочу получить доступ из python, прямо по пути 'c: \'.

В вашем случае, если вам нужно получить доступ к папке «python», возможно, переустановите python и измените путь установки на что-то вроде «c: \ python». В противном случае просто избегайте "... \ User ..." на своем пути и поместите свой проект в папку C :.

Бек
источник