为什么我会收到属性错误?

时间:2012-12-13 16:04:20

标签: python dictionary pickle

方法self.prepSetFile()返回的数据是字典

    dataTodump=self.prepSetFile()
    try:
        settingFile=os.path.join(self.settingsDir,"setting.txt")
        output_phil=open(settingFile,'w')
        pickle.dump(dataTodump,settingFile,0)
    except: raise

我不知道为什么我会收到属性错误

  

AttributeError的:
  'str'对象没有'write'属性

我甚至测试过dataTodump的数据类型,显然是dict

1 个答案:

答案 0 :(得分:5)

您需要将打开的文件传递给pickle.dump;你只传递文件名:

output_phil=open(settingFile,'wb')
pickle.dump(dataTodump, output_phil, 0)

请注意,该文件以二进制模式打开,以防止在非UNIX平台上翻译\n字节。