首先,代码获取一个名称并创建一个具有w
权限的文件(也测试了r+
),它应该在文件中写入任何其他输入,但它不会。我收到一个空文件。Python脚本创建一个文件,但不写任何东西
user_name_in =input("gets Input")
fname = user_name_in
f = input()
ufile = open(fname,"w")
while True:
f=input(answer)
ufile.write(f)
首先,代码获取一个名称并创建一个具有w
权限的文件(也测试了r+
),它应该在文件中写入任何其他输入,但它不会。我收到一个空文件。Python脚本创建一个文件,但不写任何东西
user_name_in =input("gets Input")
fname = user_name_in
f = input()
ufile = open(fname,"w")
while True:
f=input(answer)
ufile.write(f)
正如我在评论中写道,始终使用with
块,因为它需要小心处理的文件错综复杂,你不必担心。现在在代码中,你重复自己,例如前两行实际上是一个..这就是它在清理一下时的样子。
fname = input("gets Input")
with open(fname, "w") as ufile:
f = input('write something')
ufile.write(f)
正如别人也注意到了,answer
是从未宣布过,也没有终止条件和输入提示或者是不是最好的或者完全不存在。
此代码的工作对我来说:
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,这听起来并不理想。
安抚文件被关闭时,您可以用开放(FNAME)取代它成为ufile块
f变量得到相同的使用,并在优化的最终代码将被修复。有,如果在这将打破循环。我只是放置了代码 – GeekyMo
你试过用'open(fname,'w')作为ufile:ufile.write(f)'? – Xevaquor
添加'ufile.close()',看看是否修复它。 –
@疯狂的你还是得'冲洗'这个文件。总是使用'with'来处理文件。 –