我是一個總的Python初學者,我有一個變量創建在一個文件commandline_reader.py的類中,我想從另一個腳本訪問。我試圖通過使變量全局,這不起作用。如何從另一個模塊的類訪問變量
myscript.py:
from commandline_reader import Commandline_Reader
reader = Commandline_Reader('--get_serial_number')
reader.run()
print output
commandline_reader.py:
class Commandline_Reader:
def __init__(self,argString=''):
global output
output = []
def run(self):
# do stuff
a = 'somevariable'
output.append(a)
當我運行myscript.py我總是得到一個NameError:名字 '輸出' 沒有定義。我讀過這是因爲全局變量只在模塊中定義。如何在腳本中正確訪問輸出變量?
你的意思是* self * .output,它現在的樣子,output = []在init中什麼也不做。另外list.append返回None,所以你不應該返回它。 – RemcoGerlich
您的代碼中的輸出範圍不知道沒有實例屬性self的init函數。這仍然會返回名稱錯誤。 – jwillis0720
謝謝你指出我。這是一些愚蠢的錯誤... – Mailerdaimon