Skip to main content
 首页 » 编程设计

python之是否可以在 python 中转移模块 (ResourceX 转为 ResourceXSimulated)

2025年05月04日14youxin

我想模拟导入模块 (ResourceX) 的 MyApp,该模块需要当时不可用且无法运行的资源。

一个解决方案是制作并导入 ResourceX 的模拟模块(名为 ResourceXSimulated),并将其作为 ResourceX 转移到 MyApp。我想这样做是为了避免破坏大量代码并从 MyApp 获取各种异常。

我正在使用 Python,它应该是这样的:

“将 ResourceXSimulated 导入为 ResourceX”

“ResourceX.getData()”,实际调用的是ResourceXSimultated.getData()

期待了解 Python 是否支持这种重定向。

干杯。

附加信息:我可以访问源文件。

更新:我正在考虑向 MyApp 添加尽可能少的关于使用假模块的代码,并将此代码添加到导入语句附近。

请您参考如下方法:

只需将 MyApp 中的所有行 import ResourceX 更改为 import ResourceXSimulated as ResourceX,以及 from ResourceX import Y code> 到 from ResourceXSimulated import Y。

但是,如果无法访问 MyApp 源代码或有其他原因无法更改它,您可以将模块放入 sys.modules 之前 MyApp 自行加载:

import ResourceXSimulated 
sys.modules['ResourceX'] = ResourceXSimulated 

注意:如果 ResourceX 是一个包,它可能需要更多的努力。