访问变量

问题描述:

我有一个模块A.py,我需要声明的所有变量:访问变量

dog_name = '' 
dog_breed = '' 
cat_name = '' 
cat_breed = '' 
# ..... 

我有一个文件B.py,我导入答:我知道如何访问这些变量我在一个定义:

import A 

A.dog_name = 'gooddog' # I am able to use A in file B 
A.cat_name = 'goodcat' 

print(A.dog_name) # this is working fine 

但我想用户输入他想要访问,例如“cat_name”或“dog_name”变量的名称。

x = input('Which variable do you want to read') # could be cat_name or dog_name 

# This fails: 
print(A.x) # where x should resolve to cat_name and print the value as goodcat 

有没有什么办法可以做到这一点?

+0

你有做过任何研究吗?另外,请看[问]。 –

+0

是的,我做到了。我无法获得价值。 A.x给我变量不可用错误。我无法解释x的价值。 –

您可以使用getattr与模块:

import A 

getattr(A, 'dog_name') 
# '' 

setattr,以及:

setattr(A, 'dog_name', 'fido') 
getattr(A, 'dog_name') 
# 'fido' 
+0

超级。非常感谢你。 –