我正在尝试制作一个程序,不断要求输入字符串并将其输出到txt文件中。如果没有while循环,它可以正常工作,所以我不太确定出了什么问题。
infile = open('hardlopers.txt', 'a+')
i = 0
while i < 1:
naam = input('geef je naam:')
infile.write(naam)
我正在尝试制作一个程序,不断要求输入字符串并将其输出到txt文件中。如果没有while循环,它可以正常工作,所以我不太确定出了什么问题。
infile = open('hardlopers.txt', 'a+')
i = 0
while i < 1:
naam = input('geef je naam:')
infile.write(naam)
infile.flush()
显式地告诉它)才会“保存”(写入实际文件)。没有循环,程序终止,这意味着文件已关闭并保存了您的更改。
flush()
方法并不总是一定会保存文件。在这种情况下,您可以使用 os.fsync(infile.fileno())
。with open(name, mode) as filehandle:
的范式。with open('hardlopers.txt', 'a+') as infile:
while True:
naam = input('geef je naam:')
if naam:
infile.write(naam)
else:
break
# now its written - with open autocloses on leaving the block
with open("hardlopers.txt","r") as r:
t = r.read()
print("")
print(t)
输出:
geef je naam:a
geef je naam:b
geef je naam:c
geef je naam:d
geef je naam:
abced
break
,这样内容才会被写入文件。infile = open('hardlopers.txt', 'a+')
i = 0
while i < 1:
naam = input('geef je naam:')
if naam == 'q':
i = 1 # break from the loop
else:
infile.write(naam)
infield.flush()
。 - cdarke