我在main()中有一个变量(var2),我想从一个导入模块中的函数访问,而不将它作为参数传递。我已经尝试从module.py中导入vartest.py,并且可以使用printFromModule2()函数访问var1(即main()之外),但不能使用var2。从main()传递变量到模块
我想我有两个问题:
- 才能实现这一目标?
- 如果这不是我应该做的事,那么正确的工作方式是什么?
非常感谢!
编辑:我已经尝试在模块中导入vartest.py,并且可以访问vartest.var1,但不能访问vartest.var2或vartest.main.var2--不知道第二个是否是有效的Python。
vartest.py:
import sys
import module
var1 = 'variable 1 in vartest.py'
def main():
var2 = 'variable 2 inside main'
print var1
print var2
print module.var3
module.printFromModule(var1)
module.printFromModule(var2)
module.printFromModule(module.var3)
module.printFromModule2()
if __name__ == "__main__": main()
module.py:
var3 = 'variable inside module'
def printFromModule(var_x1):
print ("module print: %s" % var_x1)
def printFromModule2():
print ("module print: %s" % var2)
您无法访问该函数之外的函数局部变量。 – chepner 2014-09-02 14:51:10