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

如何在Python中调用.py脚本并使父级变量对子脚本可用?

在Python中让父脚本变量对子脚本可用的几种方法

针对父脚本变量无法被子脚本访问的问题,以下是几种可行的解决方案:

方法1:从父模块直接导入变量

修改子脚本Child.py,通过导入父模块来访问其定义的变量:

# Child.py
import Parent
print(Parent.oParent.test)

同时建议在父脚本Parent.py中添加主程序入口判断,避免循环导入问题:

# Parent.py
class cParent:  
    test = "test"  
oParent = cParent()  

if __name__ == "__main__":
    import Child

运行Parent.py时,Child.py就能通过Parent模块访问到oParent实例。

方法2:将变量作为参数传递给子脚本的函数

这种方式更符合模块化设计原则,降低脚本间的耦合度:
先把Child.py的逻辑封装成函数:

# Child.py
def print_parent_test(parent_instance):
    print(parent_instance.test)

然后在父脚本中调用该函数并传入变量:

# Parent.py
class cParent:  
    test = "test"  
oParent = cParent()  

import Child
Child.print_parent_test(oParent)

方法3:通过__main__模块访问(不推荐)

如果子脚本是在父脚本作为主程序运行时被导入的,可以通过__main__模块获取父脚本的全局变量:

# Child.py
import __main__
print(__main__.oParent.test)

Parent.py保持原代码即可,但这种方法依赖主模块的上下文,灵活性差,仅适合简单测试场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.01 23:34:51