Python:创建虚拟导入路径

时间:2011-09-15 13:15:35

标签: python import

有没有办法在Python中创建虚拟导入路径?

我的目录结构如下:

  • /
    • 天然
      • 脚本
        • some.py
        • another.py
      • [其他不相关的目录]

root是执行程序的目录。我将native/scripts/添加到搜索路径,因此我可以import some, another代替from native.scripts import some, another,但我希望能够这样做:

from native import some
import native.another

有没有办法实现这个目标?


  

相关问题:
  Making a virtual package available via sys.modules

2 个答案:

答案 0 :(得分:3)

/native/__init__.py中,包括:

from scripts import some, another

答案 1 :(得分:2)

为什么不将some.pyanother.py移到native目录中,以便一切正常工作,以便以后返回源代码的人不会对事情的原因感到困惑并且不可进口? :)

<强>更新

感谢您的评论;他们有用地澄清了这个问题!在你的情况下,我通常把我可能想要导入的函数和类放在里面,比如说native.some我可以很容易地找到它们。但后来我得到了脚本代码,而只是脚本代码 - 只有瘦的垫片解释参数并通过将这些参数传递给main()go()函数来启动所有运行的东西。参数 - 并将 放在scripts目录中。这使得外部接口代码与您可能想要导入的代码完全分离,这意味着您不必试图欺骗Python将模块放在多个位置。