我的python代码中有4个变量,如下所示:
dev_login=os.environ['DEV_LOGIN']
dev_password=os.environ['DEV_PASSWORD']
prod_login=os.environ['PROD_LOGIN']
prod_password=os.environ['PROD_PASSWORD']
我有一个函数可以接收两个环境之一作为属性,例如:
somefunction(env)
在somefunction
中,我需要根据env
属性使用上述变量中的2个。因此,如果我调用somefunction(dev)
,则应按以下方式分配函数中的登录名和密码变量:
login=dev_login
password=dev_password
使用if对我来说不是正确的方法,因为我可能有10多个env
,并且不想在添加新环境时添加一些代码。
尝试过这种方法,但是没有用:
def somefunctions(env):
login=+env+"_login"
答案 0 :(得分:0)
def some_func(input):
login = '{}_LOGIN'.format(input.upper())
password = '{}_PASSWORD'.format(input.upper())
print(login, password)
some_func('env')
some_func('dev')
>> ENV_LOGIN ENV_PASSWORD
>> DEV_LOGIN DEV_PASSWORD
然后您可以根据需要插入变量:
dev_login=os.environ[login] # 'DEV_LOGIN'
dev_password=os.environ[password] # 'DEV_PASSWORD'