2016-08-22 53 views
1

首先,代码获取一个名称并创建一个具有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) 
+2

你试过用'open(fname,'w')作为ufile:ufile.write(f)'? – Xevaquor

+3

添加'ufile.close()',看看是否修复它。 –

+3

@疯狂的你还是得'冲洗'这个文件。总是使用'with'来处理文件。 –

回答

5

正如我在评论中写道,始终使用with块,因为它需要小心处理的文件错综复杂,你不必担心。现在在代码中,你重复自己,例如前两行实际上是一个..这就是它在清理一下时的样子。

fname = input("gets Input") 
with open(fname, "w") as ufile: 
    f = input('write something') 
    ufile.write(f) 

正如别人也注意到了,answer是从未宣布过,也没有终止条件和输入提示或者是不是最好的或者完全不存在。

+0

工作的必要部分,我不知道“与”,谢谢。 – GeekyMo

+0

答案是在其他地方声明的,我在程序的字符串管理部分声明了它。 – GeekyMo

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,这听起来并不理想。

安抚文件被关闭时,您可以用开放(FNAME)取代它成为ufile

+0

f变量得到相同的使用,并在优化的最终代码将被修复。有,如果在这将打破循环。我只是放置了代码 – GeekyMo

相关问题