Задать вопрос
@deac4545

Что за ошибка в python?

Написал код

import pyautogui

path = 'C:\Users\777\Desktop\Новая папка\67.png'

button = pyautogui.locateCenterOnScreen(path) 

pyautogui.click(button)


Че за ошибка?

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
  • Вопрос задан
  • 6182 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 2
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
Попробуйте варианты:
Поставить r перед строкой пути
my_path = r'C:\Users\'
Задвоить все слеши
my_path = 'C:\\Users\\'
Заменить все слеши на обратные
my_path = 'C:/Users/'
Ответ написан
Vindicar
@Vindicar
RTFM!
Поясню ответ Алан Гибизов: Обратный слэш (\) в строковых литералах Питона (как и во многих языках) имеет специальное значение, зависящее от следующего символа. Например, \n означает символ перевода строки, \t - символ табуляции, и т.д. Последовательность \u позволяет задать символ юникода по его коду, например, символ \u00A7 это значок параграфа (§). Но это также разделитель каталогов в пути на платформе Windows. А у тебя в пути есть последовательность "C:\Users\777\Desktop\Новая папка\67.png".
Избежать этого конфликта можно одним из трёх способов:
* использовать последовательность \\ - она означает просто символ \ без специального поведения.
* использовать "сырой" строковой литерал - my_path = r'C:\Users\'. В таких литералах символ \ не имеет специального поведения, это просто символ.
* Записать путь, используя прямой слэш /. Винда это позволяет.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Swish123
Хочется стать хорошим программистом...
Используйте двойные слешы
import pyautogui

path = 'C:\\Users\\777\\Desktop\\Новая папка\\67.png'

button = pyautogui.locateCenterOnScreen(path) 

pyautogui.click(button)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы