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 文件。
我在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 文件。