Создайте функцию Python, которая позволяет пользователю передавать имя файла точно так, как оно введено [дубликат]Python

Программы на Python
Anonymous
Создайте функцию Python, которая позволяет пользователю передавать имя файла точно так, как оно введено [дубликат]

Сообщение Anonymous »

Я видел вопросы, похожие на этот, но это были более старые сообщения, поэтому решил задать их здесь еще раз. Я пишу функцию, в которой я хочу, чтобы пользователь мог передавать путь к файлу Windows, и чтобы функция могла принимать путь к файлу точно так, как он напечатан, чтобы пользователю не приходилось беспокоиться об экранировании обратной косой черты, предшествующей строке с помощью 'r' и т. д.
Однако я не знаю, как предотвратить ошибку unicodeescape или другие подобные ошибки, которые могут возникнуть, когда вместо этого в качестве путей к файлам используются обычные строки необработанных строк, потому что если пользователь вводит обычный путь к файлу, например C:\Users\temp, для функции, то как только сигнатура функции увидит эту обычную строку с \U в ней, функция немедленно выдаст ошибку unicodeescape, даже не давая мне возможности исправить строку, введенную пользователем.
Ниже приведен пример кода, который не работает, поскольку строка пути к файлу, переданная функции, содержит \U, и у меня нет возможности исправить строку до ошибки. Есть ли способ написать функцию Python, которая принимает путь к файлу Windows точно так, как он введен пользователем? Я также безуспешно пытался использовать Path из pathlib.
>>> def enter_filepath(filepath):
... print(filepath)
...
>>>
>>> enter_filepath("C:\Users\temp")
File "", line 1
enter_filepath("C:\Users\temp")
^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
>>>

Вернуться в «Python»