我正在开发一个Python应用程序;它的所有代码都放在一个包里面,当然在里面运行。应用程序的Python包对于用户来说是口译员不感兴趣的,它只是一个GUI应用程序。我应该使用“从包导入使用情况,设置”或“从。导入使用情况,设置”
的问题是,其风格是优选的,应用程序包内导入模块时
from application import settings, utils
或
from . import settings, utils
也就是说,因为它是(此处“应用”我可以指定的名称)或者我可以用“。”来表示“当前包”。
这是一个免费的软件包,所以有人想让我的应用程序分叉并更改它的名字。在这种情况下,替代方案1是一种轻微的麻烦。尽管如此,我始终使用样式1(尽管早期代码在某些地方使用样式2),因为样式1看起来好多了。
是否有我的风格(1)我错过了任何论点?或者不喜欢风格2,这太愚蠢了吗?
我对绝对/相对感到困惑。我的意思是,没有两种风格,有三种:import utils,来自。导入使用情况,以及从应用程序导入使用情况。我想到了这种情况“。”这里实际上是一个绝对导入,与“import x”情况相反。因此,我在平等的位置上述1和2。确实,对于更深的应用(我的只有一个包和一个子包),有很多地方可以调用“。” – u0b34a0f6ae 2009-08-23 10:39:38
该应用程序的早期问题是,因为我有一个名为“application.application”的模块,cPickle将无法工作,但pickle会(不同的abs/rel导入处理)。我必须通过重命名模块来解决问题,无论如何这是一个糟糕的名字。 – u0b34a0f6ae 2009-08-23 10:48:33