我有两个numpy
名为的数组dec_pair
,dec_community
在一个名为 的模块中config.py
,初始化为零:
dec_pair = numpy.zeros(200)
dec_community = numpy.zeros(200)
现在,我正在尝试从其他模块访问它们,例如roc.py
,它们的名称是根据输入变量形成的,即
import config
def dosomething(name):
local_name = 'config.py'+name
eval(local_name)[i:] += 1
哪里name
可以pair
或community
。问题是,eval(local_name)
返回数组的长度,numpy
即200
这里而不是数组本身,这给了我这个错误:
ValueError:无法对 0 维数组进行切片
但是,当我在 python 解释器上做同样的事情时,它运行顺利:
>>> dec_pair = numpy.zeros(5)
>>> name = 'pair'
>>> local_name = 'dec_'+name
>>> eval(local_name)
array([ 0., 0., 0., 0., 0.])
关于我做错了什么以及正确的方法是什么?