Python脚本生成一个文件但不写任何内容

时间:2016-08-22 12:14:24

标签: python

首先,代码获取一个名称并生成一个具有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)

2 个答案:

答案 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