Как заменить все экранирующие символы \\ в файле

Есть файл на подобии

\\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)
→ Ссылка