【发布时间】:2012-10-26 14:00:48
【问题描述】:
假设我有一个名为 bestpackage 的 python 包。
约定规定bestpacakge 也将是sys.path 上的一个目录,其中包含一个__init__.py,以使解释器假定它可以从中导入。
有什么方法可以为包名称设置一个变量,以便可以将目录命名为与我导入它时使用的指令不同的名称?有什么方法可以让命名空间不关心目录名,而是尊重其他一些配置?
我的超级时尚客户端开发人员非常喜欢这些性感的 something.otherthing.js 项目名称,用于我们的一个较小的副项目!
编辑:
澄清一下,我的问题的主要目的是让我的客户端人员继续使用他们现有的约定 (some.app. js),尽管在某些情况下它们实际上是 python 包,它们将在路径上并在内部来源于import 语句。我意识到这在实践中是一件非常可怕的事情,所以出于好奇我问了更多。因此,这里的部分大问题是规避目录名称中的.(以及由此假定的包名称)暗示属性访问这一事实。无法解决这个问题并不让我感到惊讶,我只是好奇是否有可能更深入地了解导入背后的“魔力”。
这里有一些很好的响应,但都依赖于执行某种经典导入,其中属性访问器 . 将与目录名称发生冲突。
【问题讨论】:
-
带有
__init__.py文件的目录称为包。 -
谢谢,我总是混淆这些术语。将编辑。
标签: python pythonpath