Питон добавляет лишний "\" в строку с путём файла

У меня есть файл в котором через пробел записаны пути до файлов, которые моя программа должна "скрыть". Строка внутри файла выглядит так: файл с путями до файлов

Вот участок кода где я этот самый файл открываю, а затем делаю из его содержимого список через split(): Код

Результат очень странны. первый print() выводит то-же, что и написано в файле (Всё верно):

"U:\FileHider\test.txt U:\FileHider\test2.txt"

Второй-же print(), как я и хотел - выводит список из путей до файлов, но пути до файлов в нём искажены: в них заместо одного "\", их 2 - "\\". Вот такой вывод у второго print():

['U:\\FileHider\\test.txt', 'U:\\FileHider\\test2.txt']

P.S - Для того чтобы на это сайте поставить 2 "\" - мне пришлось на самом деле поставить 4. Я понимаю что это для форматирования, но как от этого избавиться? Неужели писать отдельный участок кода для преобразования этого в нормальный вид?


Ответы (2 шт):

Автор решения: A_Vaclav
sl = ['U:\\FileHider\\test.txt', 'U:\\FileHider\\test2.txt']
res = [x.replace('\\', '\') for x in sl]

ВНИМАНИЕ! код не рабочий специально, что бы подумать. вот )

→ Ссылка
Автор решения: STRIDER

Решено. У кого тоже самое - это просто форматирование текста функцией print() в питоне. Если Print выводит что у вас в словаре написано что-то такое:

myDict = {'U:\\FileHider\\tmp.dat': 'test.txt', 'U:\\FileHider\\tmp1.dat': 'test2.txt'}

Это не более чем отображение в консоли. Вы должны использовать всё ту-же нормальную запись с 1-им бекслешем myDict["U:\FileHider\tmp.dat"] (С 1-им бекслешем).

Всё нормально

→ Ссылка