我有两个文件random1.py,random2.py
random2.py有
def your():
global mine
mine = 10
random1.py有
import random2.py
global mine
mine = 4
random.your()
print mine
random1.py打印出4而不是10。
我的最终目标是拥有可以接受已声明的任何可能变量的函数,并在函数运行后使该变量具有新值。我将所有功能都放在一个单独的文件中,但是用于组织。我注意到如果我将它们放在同一个文件中,它就可以了。
我正在尝试从Hoc
复制过程的功能答案 0 :(得分:0)
Could you please directly use **random2.mine** instead of declaring it global again, which makes separate copy of mine variable in random1's namespace.
random2.mine = 50
print(random2.mine)
# Another way of modifying attributes of imported module is
random2.__dict__[mine] = 100
print(random2.mine)
http://docs.python.org/2/tutorial/classes.html#python-scopes-and-namespaces
http://stackoverflow.com/questions/6841853/python-accessing-module-scope-vars