Python - создайте новый файл, как только условие будет выполнено - PullRequest
0 голосов
/ 20 сентября 2018

Я записываю входные записи пользователей в файл, и я хочу создать новый файл и продолжить записывать входные данные в новый, как только в старом файле будет 10 записей.Например, мой исходный файл имеет

1.something
2.
.
.
10. something

Затем я хочу создать новый файл и продолжить так.Как я могу это сделать?Помощь

1 Ответ

0 голосов
/ 21 сентября 2018

Первая идея

Если вы выполните ее для каждой записи:

entries = 0
files = 0
def write(entry):
    global entries, files
    entries += 1
    if entries == 10:
        entries = 0
        files += 1
    with open("file-{}.txt".format(files), "a") as file:         
        file.write(entry + "\n") # \n is new line

Пример данных:

for x in range(35):
    write(str(x))

Другая идея

Еслиу вас есть список всех записей:

def write(entries):
    for i in range(0, len(entries), 10):        
        with open("file-{}.txt".format(i), "w") as file:        
            file.write("\n".join(entries[i:i + 10]))

Пример данных:

write([str(x) for x in range(35)])

Очевидно, есть лучшие способы архивировать это, например (по моим скромным критериям) я бысоздайте класс для первой идеи, чтобы я мог удалить globals, но вы должны разработать их самостоятельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...