告诉模块首先由模块本身导入?

时间:2012-05-28 07:57:45

标签: python import module

我添加了对游戏mod的支持。放在特定文件夹中的任何Python模块都会在启动时自动导入。一切都很好,除了现在我写了一个官方mod,允许mod制造商轻松地将他们的mod的GUI设置添加到单个可切换的GUI框架。他们不会被迫使用它,但它极大地简化了使用辅助函数添加GUI设置,并使玩家更有条理,更简单。

问题是因为它是一个mod本身,它在启动时导入了其余的mods(Python模块),所以如果有另一个mod有一个名字在它之前,它就不能使用我的mod。我知道我可以在我的模块名称中添加“0_”或者其他东西,但这不会很干净,你不能确定有人不会像这样命名自己的mod模块。

所以我想知道是否有办法告诉Python首先导入模块,在模块内部指定它?我很确定没有,但谁知道?

我想到的一个解决方案是创建一个首先搜索模块的子文件夹。

另一个可能是将mod的代码与游戏合并。不想这样做,以免给人的印象是它是添加mod设置的唯一方法。

1 个答案:

答案 0 :(得分:2)

为什么没有一个你需要加载的所有“系统”模块的列表,这些模块将首先被导入,然后查找所有mod的子文件夹并导入它们?

这样你仍然可以维护你的基础系统,然后才加载后续的用户模块。