我是python的新手。我試圖訪問模塊中定義的變量main()
主要功能是imported
。我想一個方法來獲得這個withput傳遞deviceid
變量get_a()
main.py:-如何訪問正在導入主模塊中的變量,並在python中的main()中定義的變量
global deviceid
import lib
deviceid=123
lib.get_a()
lib.py:-
def get_a():
global deviceid
prnit deviceid
調用main
或試圖訪問來自python shell的deviceid
正在返回
Traceback (most recent call last): File "<stdin>", line 1, in <module> File "t.py", line 4, in pp print a NameError: global name 'deviceid' is not defined
我試着給global deviceid
在模塊和函數內部和外部的許多地方。沒有幫助。
有人請幫忙。
已經在這裏看了,http://stackoverflow.com/questions/423379/using-global-variables-in-a-function-other-than-the-one-that-created-them '設備ID '需要在您看來正在使用的兩個模塊之外聲明*。在調用main之前,你有沒有嘗試在REPL中聲明它? – avgvstvs 2012-07-17 12:01:59
而不是定義全局變量,在我看來,如果你只是將變量作爲參數傳遞,就好像這樣:'def get_a(deviceid)' – 2012-07-17 12:04:11
除了dex19dt的建議,我完全支持,你將無法從'lib.py'內導入'main.py',因爲您已經導入了'main.py'。試圖這樣做會因循環依賴而失敗。 – sloth 2012-07-17 12:06:31