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

如何在自定义模块中访问并修改主模块的全局变量READ_ONLY_ON_STATES

主模块全局字典在自定义模块中修改的解决方案

正确导入并修改字典

  • 若主模块名为main_module.py,在自定义模块中直接导入目标字典变量,由于字典是可变对象,直接修改其内容会同步到主模块:
    from main_module import READ_ONLY_ON_STATES
    
    # 添加新键值对
    READ_ONLY_ON_STATES["on_approve"] = [("readonly", True)]
    
  • 也可通过导入整个模块的方式访问并修改:
    import main_module
    
    main_module.READ_ONLY_ON_STATES["on_reject"] = [("readonly", False)]
    

规避常见错误

  • 禁止直接重新赋值变量,比如READ_ONLY_ON_STATES = {},这会让自定义模块中的变量指向新字典,而非原模块的全局字典,导致修改无效。
  • 尽量避免from main_module import *的导入方式,容易引发命名冲突,且不利于追踪变量来源。

验证修改效果

在主模块中导入自定义模块后,打印字典即可确认修改是否生效:

# main_module.py
READ_ONLY_ON_STATES = {"on_validation":[("readonly", True)]}

import custom_module
print(READ_ONLY_ON_STATES)
# 输出将包含新添加的键值对

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 09:15:35