python: 在函数内部重新加载模块

python: reload module inside function

我在python中有一个配置文件可以在主脚本运行时更改,所以我需要重新加载它。

我尝试了这个 post 中的答案: python refresh/reload

import config
from config import *
...
reload(config)
from config import *

它一直有效,直到我将重新加载部分输入到函数中,所以如果我这样做:

import config
from config import *

def main():
    reload(config)
    from config import *

我收到警告:'import *' 只允许在模块级别,脚本是 运行 但重新加载不起作用,

我也试过 "import config" 而不是 "from config import *" 但我得到了一个例外 "UnboundLocalError: local variable 'config' referenced before assignment"

我建议您将配置存储在文件中而不是模块中。请查看 Python 中的 ConfigParser 模块。据我所知,它也可以处理 ini 文件。