繁体   English   中英

上课时出现泡菜错误

[英]pickle error when called in class

我试图在我的一个类中放置一个方法,使我可以使文件腌制和释放。 例如,我有

import pickle

class SomeClass:

    def otherMethods:
        pass

    def save_to_file(self, filename, file_to_save):
        with (filename,'wb') as output:
            pickle.dump(file_to_save,output,pickle.HIGHEST_PROTOCOL)
        print("Data has been saved.")

现在,当我创建此“ SomeClass”的实例时,我希望能够从终端进行如下调用...

myfile = [1,2,3] # or anything else
SomeClass.save_to_file('myfile.pk',myfile)

但是,抛出的是:

'AttributeError: __exit__'

我见过一些在相似用例上遇到困难的人的不同帖子,但我一直无法弄清楚他们如何适用于我的情况。 帮助将不胜感激。

open丢失:

with open(filename,'wb') as output:

with语句期望具有__enter____exit__方法的上下文管理器,并引发AttributeError因为元组(filename,'wb')没有它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM