Python, удаляя \ 'ы перед их обработкой
Вопрос
Я создаю программу, которая запрашивает путь, а пути Windows содержат обратную косую черту, которая может быть интерпретирована python как escape-последовательность, если буква рядом с ней неправильная.Я попробовал string.replace(), но это не работает, так как эти обратные косые черты преобразуются в escape-последовательности перед выполнением функции replace.
Есть ли способ удалить их и, возможно, сделать их / вместо \?
Решение
Если вы запрашиваете у пользователя ввод, то a \ правильно войдет в строку как a \.Только если вы затем каким-то образом произведете оценку пользовательской строки, обратная косая черта будет считаться экранирующим символом.Вам действительно нужно беспокоиться об экранировании только тогда, когда вы пишете строки внутри кода.
Другие советы
Нет, обратная косая черта не интерпретируется как escape-последовательность, кроме как в Python исходный код.Если вы не вычисляете () путь, что было бы неправильно, я не уверен, почему у вас возникла бы проблема.
Используйте двойной \
str = 'c:\\dir\\file.txt'
print str.replace('\\','/')
print str
вот нам выходные данные
c:/dir/file.txt
c:\dir\file.txt