Мой код Python не пишет мой файл. Зачем? - PullRequest
2 голосов
/ 27 июня 2019

Я не могу понять, почему этот код не записывает мой файл.

Когда я стираю цикл, он работает отлично. Кажется, я не могу понять, что делает цикл, который не позволяет писать.

filename = 'guest_book.txt'

with open(filename, 'w') as file_object:

    while True:
        name = input("Nombre:")
        file_object.write(name)
        print(f"Welcome {name}!\n")

Я ожидаю, что этот код напечатает приветственное сообщение и запишет в guest_book.txt файл.

1 Ответ

4 голосов
/ 27 июня 2019

Python не будет сбрасывать файл до тех пор, пока не завершится блок with open, что никогда не происходит, поскольку цикл бесконечен.

Вы можете добавить явную очистку, если хотите:

with open(filename, 'w') as file_object:
    while True:
        name = input("Nombre:")
        file_object.write(name)
        print(f"Welcome {name}!\n")
        file_object.flush() # Here!
...