如何为导入的库提供对当前全局变量的访问权限?

时间:2014-09-15 00:10:56

标签: python import

假设我有两个python文件

a.py

x = "hello world"
import b

b.py

print x

我想运行a.py,第一个创建'x'变量,然后我想通过导入b来打印'x'变量。

基本上我想让b.py中的所有代码都在a.py中运行,好像b的源代码是a的源代码的一部分。有没有办法在python中实现这种行为?

1 个答案:

答案 0 :(得分:3)

<强> 唐&#39;吨

而是使用功能:

在b.py

def do_something(x):
    print x

在a.py

import b
x = "Hello World"
b.do_something(x)

你可以做其他事情,但如果你在功能上完成所有工作并避免全局变量,你会发现一切都会更好。

或者,对于高级用途,您可以这样做:

variables = {
   'x' : 'Hello World'
}

with open('b.py') as b_file:
     exec b_file in variables