仅从导入的文件中获取值,而不是在Python中导入

时间:2018-03-16 13:07:37

标签: python module python-import

我喜欢文件foo.py:

from os import *
aaa = 'bbb'
bbb = 'asd'
...
yzx = 'asad'

未知的变量和变量的未知名称

并提交bar.py:

vars = {}
execfile('foo.py', vars)
[print (var) for var in vars]

但是bar.py还打印了来自os的值(也可以是其他导入):( 如何只从foo.py获得变量?

尝试了与pprint广告相同的结果。

1 个答案:

答案 0 :(得分:1)

假设您没有名称冲突,可以过滤掉os

的内容
import os
os_vars = set(dir(os))
[print(var) for var in vars if var not in os_vars]

仍然......问问自己是否真的需要使用import *。这是非常沮丧的。