我是一个总的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