我喜欢文件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广告相同的结果。
答案 0 :(得分:1)
假设您没有名称冲突,可以过滤掉os
import os
os_vars = set(dir(os))
[print(var) for var in vars if var not in os_vars]
仍然......问问自己是否真的需要使用import *
。这是非常沮丧的。