作为包含模块的目录,需要定义 __init__.py,这样可以导入模块路径。
对于一个目录的作用,可以通过编写一个 README 文件来介绍,但是
这样导入目录的时候,如果执行 help() 函数,则得不到 README 文件
中的描述。
尝试了一下在 __init__.py 文件中添加 docstring 这样的注释,但是导入
后,执行 help(),发现这些注释并没有打印出来。
想想每个对象都有一个 __doc__ 属性,于是显式对 __init__.py 中的该
属性赋值,加入模块描述,这样导入目录后执行 help() 就可以得到这些
描述。
$ ls pybits/
__init__.py
$ cat pybits/__init__.py
__doc__ = '''
Test dir doc string.
Test multiple lines.
Line one
Line two
Line three
'''
在交互式环境中检测一下,__doc__ 属性出现在 DESCRIPTION 部分:
$ python
Python 2.6.6 (r266:84292, Sep 15 2010, 15:52:39)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pybits
>>> help(pybits)
Help on package pybits:
NAME
pybits
FILE
/home/crossover/pybits/__init__.py
DESCRIPTION
Test dir doc string.
Test multiple lines.
Line one
Line two
Line three
PACKAGE CONTENTS
试验的时候还发现一个有趣的地方,如果将 __doc__ 属性的第一行
后面空一行,再加上其他描述,则在 help() 显示中可以显示为:
Help on package pybits:
NAME
pybits - Test dir doc string.
FILE
/home/crossover/pybits/__init__.py
DESCRIPTION
Test multiple lines.
Line one
Line two
Line three
PACKAGE CONTENTS
第一行出现在了 NAME 部分。利用这一点,可以将描述分离。