有没有办法在Python中创建虚拟导入路径?
我的目录结构是这样的:
- /
- 本地人
- 脚本
- 一些.py
- 另一个.py
- [其他不相关的目录]
- 脚本
- 本地人
根目录是程序执行的目录。 Atm 我将 native/scripts/
添加到搜索路径,这样我就可以 import some, another
而不是 from native.scripts import some, another
,但我希望能够这样做:
from native import some
import native.another
有什么办法可以实现这一点吗?
Related questions:
Making a virtual package available via sys.modules
最佳答案
为什么不将 some.py
和 another.py
移到 native
目录中,以便一切正常工作,以便人们返回稍后的源代码不会对为什么东西可导入和不可导入感到困惑? :)
更新:
感谢您的评论;他们有效地澄清了问题!就您而言,我通常将我可能想要导入的函数和类放在可以轻松访问的地方,例如native.some
。但随后我得到了脚本代码,并且只有脚本代码 - 只有解释参数并通过将这些参数传递给 main()
或 来启动所有运行的薄垫片>go()
函数作为参数 - 并将那个放在 scripts
目录中。这使得外部接口(interface)代码与您可能想要导入的代码完全分开,并且意味着您不必试图欺骗 Python 同时在多个位置拥有模块。
关于Python:创建虚拟导入路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7431492/