外部模块中的全局python列表替换彼此的值

时间:2014-02-20 12:29:58

标签: python

我有一个带有两个值的文件config.py

score_param = [-3.24097637368454,0,0,0,0,0]
p = [-3.24097637368454, 
 0.587524975207248, 
 0.630901213219356, 
 0.647563874895472, 
 -0.547490987136909, 
 -0.851756955173558, 
 -0.840787900229345, 
 -0.230491995673875]

当我将这个模块导入另一个名为config_beta.py的模块并在一个循环config.score_param中调用时,它取值为config.p

编辑(在config_beta.py中导入config.py):

congif_beta.py

from config import *

导入config_beta.py

import importlib
import sys
#import parameters

env = sys.argv[1]

config = importlib.import_module('config_'+env)
param = config.score_param

for i in range(1,100):
    print param

当然,上面的代码是在一个有多个对象被启动的类中。我无法分享整个代码以保密。

为了解决这个问题,我为score_param创建了一个新列表

param = [config.p[0],0,0,0,0,0]

这是因为p和score_param的第一个值是相同的,并且两者在config.py中都是全局的 它也可能是其他一些问题,但我想知道我是否出现了在外部模块中声明全局变量的一些基本做法。

0 个答案:

没有答案