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

如何从Python文件中实时刷新获取导入的变量值

问题根因

  • 存在文件名笔误:代码中写入变量时打开的是testowymodul.py,但你实际导入的模块文件是testmodule.py,修改内容根本没有落到被导入的文件上。
  • Python默认导入缓存机制:模块首次被导入后会缓存在sys.modules字典中,后续重复执行import语句不会重新读取磁盘上的最新文件内容,因此始终拿到初始值。

解决方案

步骤1:修正文件名笔误

将写入文件的代码中文件名改为testmodule.py,保证修改和导入的是同一个文件。

步骤2:每次读取变量前重载模块

使用Python标准库importlib的reload方法强制重新加载模块,获取磁盘上的最新内容。

修正后完整代码

import pprint
import importlib
import testmodule

while __name__ == '__main__':
    # 重载模块,读取最新内容
    importlib.reload(testmodule)
    variableFromFile = testmodule.var
    print("Variable from file is "+str(variableFromFile))
    print("Enter variable:")
    variable = input()
    # 修正文件名笔误
    Plik = open('testmodule.py','w')
    Plik.write('var='+variable)
    Plik.close()

补充说明

如果不需要通过Python模块的方式导入变量,更推荐使用JSON、INI等通用配置文件格式存储变量,读写更简单,也不会触发模块缓存问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 07:57:03