【问题标题】:str has no attribute writestr 没有属性 write
【发布时间】:2015-07-05 16:41:55
【问题描述】:

我收到此错误:

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")

错误是:

【问题讨论】:

  • 您发布的代码中的哪一行产生了错误?有堆栈跟踪吗?

标签: python python-2.7 tkinter pickle


【解决方案1】:

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

不管怎样,这个错误告诉你问题出在哪里:你在一个字符串上引用了“write”方法。也许你认为你是通过一个打开的文件对象引用它,但你实际上是在一个字符串上引用它。

如果没有看到您的代码,我们将无法对其进行进一步调试,但很可能您将变量重用为文件名和打开文件。

【讨论】:

  • 谢谢哥们把它整理出来只是一个愚蠢的错误我犯了它应该像pickle.dump(m,x)......我所做的是pickle.dump(x,m)...... .
猜你喜欢
  • 2019-03-25
  • 2017-07-06
  • 2022-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-25
  • 1970-01-01
相关资源
最近更新 更多