You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中正确重载模块?我的尝试代码未生效

关于Python重载模块未生效的问题分析与解决

你尝试重载pandas模块后,发现之前修改的display.width配置依然保留,这是因为importlib.reload()仅会重新加载模块的代码,但不会重置模块已有的全局状态(比如pandas的配置选项)。pandas的配置存储在模块内部的全局对象中,重载操作不会清空这些已修改的配置值。

你的测试代码如下:

import pandas as pd

pd.get_option('display.width')  # 80

pd.set_option("display.width", 150)

del pd

import importlib

import sys

pd = importlib.reload(sys.modules['pandas'])

pd.get_option('display.width')  # 150

解决方法

  1. 直接重置配置(推荐)
    不需要重载模块,用pandas内置的重置方法就能恢复默认配置:
import pandas as pd

pd.get_option('display.width')  # 初始值80
pd.set_option("display.width", 150)

# 重置单个配置项到默认值
pd.reset_option('display.width')
pd.get_option('display.width')  # 回到80

# 或者重置所有配置项
pd.reset_option('all')
  1. 彻底移除模块缓存后重新导入
    如果必须通过重新导入模块来恢复初始状态,需要先删除sys.modules中的模块缓存,再重新导入:
import sys

# 移除pandas的模块缓存
if 'pandas' in sys.modules:
    del sys.modules['pandas']

# 重新导入模块
import pandas as pd
pd.get_option('display.width')  # 回到默认80

内容的提问来源于stack exchange,提问作者Shayan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 16:53:24