Как заменить все экранирующие символы \\ в файле
Есть файл на подобии
\\112233\\445566\\778899
\\223344\\556677\\889911
При чтении файла побайтово вывод следующий
['\\\\112233\\\\445566\\\\778899\n', '\\\\223344\\\\556677\\\\889911\n']
Вопрос как заменить символы в файле что-бы при открытии через редактор был
\112233\445566\778899
\223344\556677\889911
А при чтении побайтово был
['\\112233\\445566\\778899\n', '\\223344\\556677\\889911\n']
Ответы (1 шт):
Автор решения: Александр Рассказчиков
→ Ссылка
Просто экранируйте обратный слеш
\ в представлении компьютера (вывод и обработка) - \\, слеш, который находится на первом месте экранирует второй слеш.
\\\\ - так наш префикс видит компьютер, в нашем же представлении это просто два обратных слеша. Чтобы соответственно заменить 2 слеша на 1, мы просто применяем строковый метод .replace('\\\\', '\\') к исходному тексту.
Пример кода:
with open("yourFile.txt", mode="r") as f:
data = f.read()
data = data.replace("\\\\", "\\")
with open("yourFile.txt", mode="w") as f:
f.write(data)