Как автоматически обновить список имен файлов в Python - PullRequest
0 голосов
/ 05 апреля 2020

У меня есть список имен файлов: files = ["untitled.txt", "example.txt", "alphabet.txt"] У меня также есть функция для создания нового файла:

def create_file(file):
"""Creates a new file."""
with open(file, 'w') as nf:
    is_first_line = True
    while True:
        line = input("Line? (Type 'q' to quit.) ")
        if line == "q":
            # Detects if the user wants to quuit.
            time.sleep(5)
            sys.exit()
        else:
            line = line + "\n"
            if is_first_line == False:
                nf.write(line)
            else:
                nf.write(line)
                is_first_line = False

Я хочу, чтобы список обновлялся сам после создания файла. Однако, если я просто filenames.append() это, я понял, что он будет обновляться только на время программы. Кто-нибудь знает, как это сделать? Это возможно в Python?

1 Ответ

1 голос
/ 05 апреля 2020

"Возможно ли это в Python?" -> Это не имеет ничего общего с ограничениями языка, который вы выбрали для решения вашей проблемы. То, что вы хотите здесь, это настойчивость. Вы можете просто сохранить список файлов в текстовом файле. Вместо жесткого кодирования списка в вашем коде ваша программа будет читать содержимое при каждом запуске.

Этот код может помочь вам начать:


with open("files.txt") as infile:
    files = [f.strip() for f in infile.readlines()]
print(f"files: {files}")

# here do some stuff and create file 'new_file'
new_file = 'a_new_file.txt'
files.append(new_file)
###

with open("files.txt", "w") as outfile:
    outfile.write("\n".join(files))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...