Как предотвратить автоматическое экранирование специальных символов в Python

Я пишу скрипт Python, который принимает пути к файлам в виде строк, анализирует их, добавляет имя команды и создает список, который затем передаетсяsubprocess.Popen() для выполнения. Этот сценарий предназначен для обработки путей к файлам как в Unix, так и в Windows, и в конечном итоге должен работать в обеих системах.

Когда я запускаю это в Unix, если я даю путь Windows, который непреднамеренно содержит escape-символ (например,\Users\Administrator\bin), Python будет интерпретировать встроенный\b в качестве символа возврата. Я хочу предотвратить это.

Насколько я знаю, нет функции или метода, чтобы обозначать строковую переменную как необработанную строку.'r' Модификатор работает только для строковых констант.

Пока что мне удалось получить самое близкое к этому:

winpath = "C:\Users\Administrator\bin" 
winpath = winpath.replace('\b','\\b')
winpathlist = winpath.split('\\') 

На этом этапе winpathlist должен содержать['C:','Users','Administrator','bin']не['C','Users','Administrator\x08in'].

Я могу добавить дополнительные звонкиwinpath.replace() чтобы справиться с другими побегами, я мог бы получить -\a, \f, \n, \r, \t, \v -- но нет\x.

Есть ли более питонный способ сделать это?

Ответы на вопрос(2)

Ваш ответ на вопрос