str没有属性写

时间:2015-07-05 16:41:56

标签: python python-2.7 tkinter pickle

我收到此错误:

self.write = file.write
AttributeError: 'str' object has no attribute 'write'

我想要做的是将m转储到用户在条目中输入的文件名中...这不是整个代码,请说要导入tkinter等。

def send(self):
    fl=(t1.get())
    m=(t2.get())       
    x=open("DATABASE.dat",'rb')
    l=pickle.load(x)
    x.close()
    if fl in l:
        box.showinfo("SEND","MESSAGE SEND")
        x=open(fl+".dat","wb")
        pickle.dump(x,m)
        x.close()

    else:
        box.showerror("ERROR","USER DOES NOT EXIST")

错误是:

1 个答案:

答案 0 :(得分:1)

您发布的代码不会导致您说出的错误。

无论如何,错误正在告诉您问题的确切原因:您在字符串上引用了“write”方法。也许你你通过一个打开的文件对象引用它,但你实际在一个字符串上引用它。

如果没有看到你的代码,我们就无法进一步调试它,但你很可能重复使用一个变量作为文件名和打开文件。