从内存中动态导入文件

时间:2018-03-27 13:33:31

标签: python-2.7 import module

我有python模块的变量。我想导入它,以获取其变量。 内存python文件内容如下:

# import smth
aaa = {'mykey1':'myval1','mykey2':'myval2','mykey3':'myval3','mykey4':'myval4'}
bbb = ['mykey1', 'mykey2']
ccc = 'some string'
ddd = 17
#eee = 18
...  and so on

我想创建没有tmp文件,除非在内存中。

1 个答案:

答案 0 :(得分:1)

您可以使用exec函数从字符串执行python脚本。如果要获取脚本中定义的全局变量,则需要为其提供一个对象/字典。示例:

script = "# import smth\naaa = {'mykey1':'myval1','mykey2':'myval2','mykey3':'myval3','mykey4':'myval4'}\nbbb = ['mykey1', 'mykey2']\nccc = 'some string'\nddd = 17\n#eee = 18"
results = {}
exec(script, result)
print result['ddd']  # 17

请确保您信任正在执行的代码,因为它以与您的程序相同的权限运行。