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

如何从仅含裸数据的Python模块中导入并提取变量值?

解决方法:访问加载后的模块变量

别担心,其实你离拿到变量值只差一步啦!当你用imp.load_source加载Python文件时,它会返回一个模块对象,你只需要通过这个对象直接访问里面的全局变量就行。

步骤1:接收模块对象并访问变量

修改你的代码,把imp.load_source的返回值存下来,然后通过这个模块对象获取TL和aaa:

import imp

# 加载模块,将返回的模块对象赋值给变量
foo_module = imp.load_source('foo', r'<path_to_foo>\foo.py')

# 直接通过模块对象访问全局变量
tl_data = foo_module.TL
aaa_data = foo_module.aaa

# 验证结果
print("TL的值:", tl_data)
print("aaa的值:", aaa_data)

运行这段代码,你就能拿到foo.py里定义的TL字典和aaa字符串的值了。

注意:Python 3.4+ 推荐的替代方案

imp模块在Python 3.4之后已经被标记为废弃,官方推荐使用importlib模块来实现同样的功能,代码如下:

from importlib.machinery import SourceFileLoader

# 加载模块并获取模块对象
foo_module = SourceFileLoader('foo', r'<path_to_foo>\foo.py').load_module()

# 同样的方式访问变量
print(foo_module.TL)
print(foo_module.aaa)

这个方法和imp.load_source的效果完全一致,但更符合Python的现代规范。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:10:36