首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何使用我的‘名字’结构与‘泡菜’?

我如何使用我的‘名字’结构与‘泡菜’?
EN

Stack Overflow用户
提问于 2016-04-13 12:21:10
回答 1查看 685关注 0票数 1

我已经创建了字典元组

代码语言:javascript
复制
from collections import namedtuple
import random
demand={}
Site_Product=namedtuple("Site_Product", ["site", "product"])   
Products=['P1','P2','P3']    
for P in Products:
    for node in range(1,4): #Suppliers:
        sp=Site_Product(site=node, product=P)
        demand={sp:random.normalvariate(30, 25)}

然后,我想保存这些文件,以防以后使用它,如下所示:

代码语言:javascript
复制
import pickle
PIK = "pickle_SC_detail.dat"  
with open(PIK, "wb") as f:
    pickle.dump(demand, f)

我得到了一堆错误,主要指向我的名称结构:

代码语言:javascript
复制
  File "C:\Users\Ozgu\Anaconda2\lib\pickle.py", line 1376, in dump
    Pickler(file, protocol).dump(obj)

  File "C:\Users\Ozgu\Anaconda2\lib\pickle.py", line 224, in dump
    self.save(obj)

  File "C:\Users\Ozgu\Anaconda2\lib\pickle.py", line 286, in save
    f(self, obj) # Call unbound method with explicit self

  File "C:\Users\Ozgu\Anaconda2\lib\pickle.py", line 655, in save_dict
    self._batch_setitems(obj.iteritems())

  File "C:\Users\Ozgu\Anaconda2\lib\pickle.py", line 668, in _batch_setitems
    save(k)

  File "C:\Users\Ozgu\Anaconda2\lib\pickle.py", line 331, in save
    self.save_reduce(obj=obj, *rv)

  File "C:\Users\Ozgu\Anaconda2\lib\pickle.py", line 401, in save_reduce
    save(args)

  File "C:\Users\Ozgu\Anaconda2\lib\pickle.py", line 286, in save
    f(self, obj) # Call unbound method with explicit self

  File "C:\Users\Ozgu\Anaconda2\lib\pickle.py", line 568, in save_tuple
    save(element)

  File "C:\Users\Ozgu\Anaconda2\lib\pickle.py", line 286, in save
    f(self, obj) # Call unbound method with explicit self

  File "C:\Users\Ozgu\Anaconda2\lib\pickle.py", line 754, in save_global
    (obj, module, name))

PicklingError: Can't pickle \<class '__main__.Site_Product'\>: it's not found as __main__.Site_Product

是否有一项工作可以保留我的元组(用于密钥),或者以一种廉价的方式记录我的数据,以便它们能够共存?

EN

回答 1

Stack Overflow用户

发布于 2016-04-13 13:28:24

结果,我用两个不同的函数定义了代码。把它们结合起来最有可能解决问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36598202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档