Запись массива данных как список данных в файл

Stogurd

Новичок
Пользователь
Май 23, 2021
2
0
1
Работаю на win, Python 2.7, новичок

Мне нужно создать вспомогательные файлы таким же именем к данным в папке. Для это я получаю их имена без расширений, и записываю в файл, чтобы потом создать файл по каждой из строк с определенным содержанием.
Когда я записываю список в файл, записывается только 1 файл из набора. Как я понял это связано тем что данные не записаны в списке как строка, а набор строк.
Как можно решить эту проблему?
1621794207728.png1621794225459.png

Код:
import os
import glob
for filename in glob.iglob(os.path.join('./data/ice/input', '*bil')):
    fullname = os.path.basename(filename)
    names = os.path.splitext(fullname)[0]
    list = [names]
    file = open("list_name.txt", "w")
    file.writelines (list)
    file.close()
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 599
464
83
при открытии файла в режиме записи ('w'), он переписывает его, вам нужно открыть в режиме 'a'
пример
Python:
count = 5
string = 'test string'

while count > 0:
    with open('test.txt', 'a') as f:
        f.writelines(string + '\n')
        count -= 1

upd
я надеюсь, понятно, что цикл while так то не нужен, просто это имитация что строк много получаем из какой-нибудь функции...
 
Последнее редактирование:

Stogurd

Новичок
Пользователь
Май 23, 2021
2
0
1
Да, все понятно, огромное спасибо!)
нигде не мог найти решение этой проблемы, не мог подумать что дело в режиме записи, теперь все работает!
 

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