【问题标题】:Python TypeError: an integer is required weirdPython TypeError:需要一个奇怪的整数
【发布时间】:2012-10-14 03:24:46
【问题描述】:
wally=pickle.load(open("The Wall.txt","rb"))
usernamey=pickle.load(open("username1.txt","rb"))
wu=("\n", wally, "\n", usernamey, "\n")
apost=input("Enter your post below: \n")
pwickle=pickle.dump(wu, apost, open("The Wall.txt","wb"))

不知道为什么这不起作用,出现错误消息:

pwickle=pickle.dump(wu, apost, open("The Wall.txt","wb"))

TypeError: an integer is required

【问题讨论】:

    标签: python pickle typeerror


    【解决方案1】:

    正如 unutbu 指出的,第三个参数是协议。 您应该像这样将要腌制的所有对象分组到一个元组中:

    pwickle=pickle.dump((wu, apost), open("The Wall.txt","wb"))
    

    如果您需要腌制大量数据,您可以使用像字典一样操作的shelve 模块。

    顺便说一下,pickle 创建的文件是二进制文件(或者至少不是人类可读的,取决于协议),所以我不会将它们命名为.txt.db.pickle 或类似的东西会更好。

    【讨论】:

      【解决方案2】:

      third argument 指定协议,应该是整数,0、1 或 2。

      【讨论】:

        猜你喜欢
        • 2015-07-14
        • 2016-05-23
        • 2016-05-29
        • 1970-01-01
        • 1970-01-01
        • 2019-03-22
        • 2018-05-04
        • 2015-08-10
        • 2013-02-16
        相关资源
        最近更新 更多