Python игнорирует команду с новой строки \n, при кодировке utf-8

zapruda101

Новичок
Пользователь
Июн 12, 2022
5
1
1
Здравствуйте в Python 3.8 Windows 8.1 есть код приведенный ниже который должен ходить по папкам и выписывать названия путей файлов в текстовый документ с новой строки. До этого у меня была проблема с кодировкой, код работал выписывал около 100 путей файлов с новой строки и ловил ошибку на одном из них. Я добавтл в код codecs и прописал в пути (u''+'C:\\'): и при записи текстового документа ('text1.txt', 'w', "utf -8"). Код работает, НО файлы все записываются одной строкой после добавления utf - 8 кодировки как будто игнорирует \n в строке кода r.write(x+ '\n' )

Python:
import os, codecs



list_paths = []

for address, papka, file in os.walk(u''+'C:\\'):

    for i in file:

        full_path = os.path.join(address, i)

        list_paths.append(full_path)





r = codecs.open('text1.txt', 'w', "utf -8")

for x in list_paths:

r.write(x+ '\n' )





r.close()

вид текстового документа:
1655536628258.png


P.S. 2 дня пытался искать инфу в соло, сложно найти что то похожее. Поэтому искренне всем благодарен за любую помощь.
 
Последнее редактирование:

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
933
208
43
20
Москва
Попробуй так:
Python:
list_paths = []

for path, folder, files in os.walk("C:/"):
    for file in files:
        full_path = os.path.join(address, i)
        list_paths.append(full_path)

with open('text1.txt', 'w', encoding="utf-8") as f:
    f.write('\n'.join(list_paths))
 
Последнее редактирование:

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
933
208
43
20
Москва
Вставь пожалуйста код как код:
1647162378032-png.1702
 
  • Мне нравится
Реакции: zapruda101

zapruda101

Новичок
Пользователь
Июн 12, 2022
5
1
1
Вставь пожалуйста код как код:
1647162378032-png.1702
Вставил
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
933
208
43
20
Москва
У тебя код не работает, отступов нет(
 

zapruda101

Новичок
Пользователь
Июн 12, 2022
5
1
1
У тебя код не работает, отступов нет(
теперь есть, криво скопировал
 

zapruda101

Новичок
Пользователь
Июн 12, 2022
5
1
1
Попробуй так:
Python:
list_paths = []

for path, folder, files in os.walk("C:/"):
    for file in files:
        full_path = os.path.join(address, i)
        list_paths.append(full_path)

with open('text1.txt', 'w', encoding="utf -8") as f:
    f.write('\n'.join(list_paths))
Все работает, спасибо большое!
 
  • Мне нравится
Реакции: Vershitel_sudeb

Форум IT Специалистов