全局变量Agree是在所有函数外部定义的命名元组:
Agree = collections.namedtuple('Agree', ['kappa', 'alpha','avg_ao'], verbose=True)
命名元组从此函数返回:
^{pr2}$在这里被称为腌制:
future_dict[executor.submit(getagreement,task)]=frozenset(annotators)
...
detaildata[future_dict[future]]=future.result()
cPickle.dump(detaildata,open(os.path.dirname(jsonflist[0])+'\\out.picl','w'))
取消拾取会出错:
c=cPickle.load(open(subsdir))
Traceback (most recent call last):
File "<interactive input>", line 1, in <module>
AttributeError: 'module' object has no attribute 'Agree'
文件的反汇编:
pickletools.dis(f)
126: c GLOBAL '__builtin__ tuple'
147: p PUT 9
151: ( MARK
152: F FLOAT 0.22320438764335693
174: F FLOAT 0.21768346003098427
196: F FLOAT 0.7004133685136325
218: t TUPLE (MARK at 151)
219: t TUPLE no MARK exists on stack
Traceback (most recent call last):
File "<interactive input>", line 1, in <module>
File "C:\Python27\Lib\pickletools.py", line 2009, in dis
raise ValueError(errormsg)
ValueError: no MARK exists on stack
pickle和cPickle都给出了类似的错误。在
我猜您在一个模块中定义了Agree,并尝试在没有定义Agree的不同模块中加载数据。尝试下面的方法,如果可以,请将定义的命名元组导入到从中加载数据的模块中。在
相关问题 更多 >
编程相关推荐