2017-03-31 83 views
0

mystuff.py包含一個模塊。我正在使用python版本3.6。TypeError:'模塊'對象不可以訂購

mystuff = {'donut': "SHE LOVES DONUTS!"} 

mystuffTest.py包括本

import mystuff 

print (mystuff['donut']) 

,我收到當我運行myst​​uffTest.py如下錯誤:

$ python3.6 mystuffTrythis.py 
Traceback (most recent call last): 
    File "mystuffTrythis.py", line 3, in <module> 
    print (mystuff['donut']) 
TypeError: 'module' object is not subscriptable 

到目前爲止,我還沒有看到這個確切的錯誤這裏在stackoverflow。任何人都可以解釋爲什麼我得到這個錯誤?

回答

2

import mystuff正在導入模塊mystuff,而不是變量mystuff。爲了訪問可變你需要使用:

import mystuff 
print(mystuff.mystuff['donut']) 

編輯:它也可以直接輸入變量,使用:

from mystuff import mystuff 
print(mystuff['donut']) 
+1

另外'從進口的MyStuff將mystuff'導入變量,然後你可以像你一樣直接訪問它,也就是'print(mystuff ['donut'])' –

+0

好的,所以從mystuff(module)導入mystuff(變量)。好的,我可以看到這種模式,但是我很難理解爲什麼這很有道理。謝謝。 – DammondCircuit

+1

@DammondCircuit如果變量&模塊具有不同的名稱,則更容易理解。即mymodule.myvariable。另外,如果有幫助,請不要忘記接受答案;) –

相關問題