while True:
try:
line = input("paste:")
except EOFError:
break
f = open("notam_new.txt", "w+")
f.write(line)
f.close()
此代码仅返回Ctrl + D之后的多行的最后一行
我也尝试过:
notam = input("paste new notam: ")
f = open("notam_new.txt", "w+")
f.write(notam)
f.close()
仅获得第一行。
有什么想法吗?
您正在循环中设置line
,因此每次迭代都将下一行覆盖所述行。您需要将行中的行累加到列表中(在while True
之前创建),以便跟踪所有这些,然后循环写入文件。另外,您还需要在input()
删除它时添加换行符。
lines = []
while True:
try:
lines.append(input("paste:"))
except EOFError:
break
with open("notam_new.txt", "w+") as f:
for line in lines:
f.write(line)
f.write('\n')