有时候想把一个文件内容赋给一个变量,可以用execfile和exec
execfile py3以上版本好像不支持,可用exec代替

例子:

test.py:
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)

image.png

log.conf内容:

level = "INFO"

log_root = './log'
project = 'test'

https://docs.python.org/3.3/w...


zwalker
1 声望0 粉丝