乐趣区

关于python:execfile和exec的区别

有时候想把一个文件内容赋给一个变量,能够用 execfile 和 exec
execfile3.0 以上版本不反对,可用 exec 代替

例子:

import os

test_path = os.path.dirname(__file__)
config_path = os.path.join(os.path.split(test_path)[0], 'config')


def parse_conf(conf_file, variable_scope):
    exec(open(os.path.join(config_path, conf_file)).read(), variable_scope)
    variable_scope.pop('__builtins__', None)


log_config = {'module': 'test',}
parse_conf("log.conf", log_config)

print(log_config)
退出移动版