@getrighton

Как в os сохранить много строк?

я написал небольшой скрипт, который должен копировать данные из tokens.txt (папок tokens.txt много, поэтому я засунул все в цикл)в done.txt, но перенос строки не помогает. Что можно сделать?

import os
path_to = ('E:/sorter ds/logs')
list = os.listdir(path_to)
number = (len(list))

for i in range(number):

    with open(path_to + '/' + list[i] + '/Discord/Tokens.txt','r') as f1:
        data = f1.readlines()

    with open("done.txt",'w') as f2:
        for line in data:
            f2.write(line + '\n')
  • Вопрос задан
  • 74 просмотра
Пригласить эксперта
Ответы на вопрос 1
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
Во-первых, не используйте имена штатных типов и функций в качестве переменных (например, list). Вместо этого, если уж так хочется, пишите my_list или list_of_path
Во-вторых, для работы с путями удобнее использовать библиотеку pathlib (лучше даже pathlib2)
В-третьих, вместо использования for item in range(len(my_list)) лучше использовать конструкцию for i, value in enumerate(my_list)
Ну и, в-четвертых, вы каждый раз переписываете файл done.txt, так как указали “w”. Этот параметр затирает существующий файл. Вам надо один раз создать этот файл, а затем использовать параметр “a”, (от слова append) чтобы добавлять к существующему новые строки.
P.s. параметр “a” также сам и создаёт файл, если таковой ещё не существует.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы