我的Python代码未写入我的文件。为什么?

时间:2019-06-27 19:43:24

标签: python file loops writing

我似乎无法理解为什么这段代码没有写我的文件。

当我擦除循环时,它可以完美运行。我似乎无法意识到循环正在执行的操作不会让它编写。

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 个答案:

答案 0 :(得分:4)

with open块终止之前,Python不会刷新文件,因为循环是无限的,所以永远不会发生。

如果需要,可以添加显式刷新:

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!