带点的Python import语句

时间:2015-08-12 18:31:16

标签: python import

我有一个import语句,它有句号。

import xyz.app.lib_procs as procs

是否相当于xyz/app/lib_procs

2 个答案:

答案 0 :(得分:4)

Dots表示名称空间。通常这意味着代码被组织到 packages 中,创建此类包的最简单方法是使用包含def get_new_shapes(shapes, totalWidth): shift = calcDistanceBetweenShapes(len(shapes), shapes[0][1] - shape[0][0], totalWidth) res = [shapes[0]] previous_shape = shapes[0] for shape in shape[1:]: new_start_ab = previous_shape[1] + shift new_shape = setNewAbscissa(previous_shape,new_start_ab) res.append(new_shape) previous_shape = new_shape 个文件的目录。

有一些深奥的方法可以让这样的语句在没有目录的情况下工作,例如使用custom loaders,但99.9%的情况下你遇到这样的语句你可能有目录是的。

对于您的示例,您希望有一个__init__.py目录,其中包含xyz目录,其中存在包含app名称的lib_process.py文件,或者有一个procs目录,lib_process在该目录的procs模块或__init__.py模块文件中提供了一个名称。

请参阅original packages specification

答案 1 :(得分:0)

不,app是app的子模块,它本身就是xyz的子模块