2017-07-19 145 views
0

我有一個模塊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的價值。 –

回答

1

您可以使用getattr與模塊:

import A 

getattr(A, 'dog_name') 
# '' 

setattr,以及:

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

超級。非常感謝你。 –