在python中,如何在单独的文件中使用全局变量和函数?

在python中,如何在单独的文件中使用全局变量和函数?,python,function,variables,global,Python,Function,Variables,Global,我有两个文件random1.py和random2.py 2.py有 def your(): global mine mine = 10 1.py有 import random2.py global mine mine = 4 random.your() print mine random1.py打印出4而不是10 我的最终目标是使函数能够接收任何已声明的可能变量,并在函数运行后使该变量的新值可用。我有一个单独的文件中的所有职能,虽然组织。我注意到如果我把它们放在同一

我有两个文件random1.py和random2.py

2.py有

def your():  
    global mine  
    mine = 10
1.py有

import random2.py

global mine
mine = 4
random.your()
print mine
random1.py打印出4而不是10

我的最终目标是使函数能够接收任何已声明的可能变量,并在函数运行后使该变量的新值可用。我有一个单独的文件中的所有职能,虽然组织。我注意到如果我把它们放在同一个文件中,它就会起作用


我试图从Hoc复制过程的功能

此代码不会打印
4
;它将随着一个
ImportError
而消亡。无论如何,这是一个坏主意,Python不会让您很容易做到这一点。最好使用参数将数据传递到函数中,并返回值将数据传递出去。关键字
global
具有误导性的名称,因为它访问它所在的模块(=脚本文件)命名空间的变量
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