有没有办法在Python中创建虚拟导入路径?
我的目录结构如下:
root是执行程序的目录。我将native/scripts/
添加到搜索路径,因此我可以import some, another
代替from native.scripts import some, another
,但我希望能够这样做:
from native import some
import native.another
有没有办法实现这个目标?
答案 0 :(得分:3)
在/native/__init__.py
中,包括:
from scripts import some, another
答案 1 :(得分:2)
为什么不将some.py
和another.py
移到native
目录中,以便一切正常工作,以便以后返回源代码的人不会对事情的原因感到困惑并且不可进口? :)
<强>更新强>
感谢您的评论;他们有用地澄清了这个问题!在你的情况下,我通常把我可能想要导入的函数和类放在里面,比如说native.some
我可以很容易地找到它们。但后来我得到了脚本代码,而只是脚本代码 - 只有瘦的垫片解释参数并通过将这些参数传递给main()
或go()
函数来启动所有运行的东西。参数 - 并将 放在scripts
目录中。这使得外部接口代码与您可能想要导入的代码完全分离,这意味着您不必试图欺骗Python将模块放在多个位置。