我似乎无法理解为什么这段代码没有写我的文件。
当我擦除循环时,它可以完美运行。我似乎无法意识到循环正在执行的操作不会让它编写。
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
文件。
答案 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!