首先,代码获取一个名称并生成一个具有w
权限的文件(也经过测试r+
),它应该在文件中写入任何其他输入,但事实并非如此。我得到一个空文件。
user_name_in =input("gets Input")
fname = user_name_in
f = input()
ufile = open(fname,"w")
while True:
f=input(answer)
ufile.write(f)
答案 0 :(得分:5)
正如我在评论中写的那样,总是使用with
块来处理文件,因为它会处理您不必担心的复杂问题。现在在代码中,你重复一遍,例如前两行实际上就是一行。这就是清理一下时的样子。
fname = input("gets Input")
with open(fname, "w") as ufile:
f = input('write something')
ufile.write(f)
正如其他人也注意到的那样,answer
从未被宣布,没有终止条件,输入提示要么不是最好的,要么完全不存在。
答案 1 :(得分:1)
此代码适用于我:
user_name_in =input("gets Input")
fname = user_name_in
f = input()
ufile = open(fname,"w")
while True:
f=input(answer)
ufile.write(f)
一些注意事项: 我没有看到声明回答的位置,python解释器也看不到:P,也许你忘了粘贴这部分代码或者这确实是错误的?
我不明白为什么要将文件的名称分配给变量,然后重新分配给另一个变量。
如何停止写入文件?我找到的唯一方法是Ctrl-C,听起来并不理想。
要确保文件正在关闭,您可以将替换为open(fname)as ufile 块