有时候想把一个文件内容赋给一个变量,能够用 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)