【第29讲课后作业】 为什么不能用列表配合writelines?
def new_txt(file_name):file = open(file_name, "w")
#txt = []
print("请输入文本内容【单独输入:w 保存退出】")
while 1:
poem = input()
if poem != ":w":
#txt.append
file.write("%s\n" %poem)
#这里就是file.writelines(txt)
continue
else:
break
file.close()
file_name = input("请输入文件名:")
new_txt(file_name)
如上,#后面是我本来的思路,为什么不能先把输入的字符串append进列表,然后配合writelines?
另,如果输入多行内容而不是像上述一行一行输入,该如何改动? 确实可以那样搞,改成这样:
def new_txt(file_name):
file = open(file_name, "w")
txt = []
print("请输入文本内容【单独输入:w 保存退出】")
while 1:
poem = input()
if poem != ":w":
txt.append(poem+"\n") # 修改
file.writelines(txt)
continue
else:
break
file.close()
file_name = input("请输入文件名:")
new_txt(file_name) 一个账号 发表于 2020-2-20 17:47
确实可以那样搞,改成这样:
感谢!!
另,我刚运行了一下发现file.writelines(txt)
这一行应该拿到 while循环外面,不然就会重复添加{:5_107:} xiaofan1228 发表于 2020-2-20 18:03
感谢!!
另,我刚运行了一下发现
这一行应该拿到 while循环外面,不然就会重复添加
不会的,input() 会堵塞线程。
页:
[1]