首页 > 解决方案 > python:在函数内重新加载模块

问题描述

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

我在这篇文章中尝试了答案: 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:分配前引用的局部变量'config'”

标签: pythonreload

解决方案


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


推荐阅读