同じ名前のモジュールは、2つの名前空間からのように1パケットとパケットB、AAおよびBaのを競合しません
2.一般的なディレクトリ構造
インポートOS 2 os.makedirs( '一目/ API') 3 os.makedirs( '一目/ CMD') 4 os.makedirs( '一目/ DB') 5リットル= [] 6 l.append(オープン( '一目/ __init __。PY ' 'W')) 7 l.append(オープン( '一目/ API / __ INIT __。PY'、 'W')) 8 l.append(オープン( '一目/ API / policy.py'、' W ')) 9 l.append(オープン('一目/ API / versions.py」、 'W')) 10 l.append(オープン( '一目/ CMD / __ INIT __。PY'、 'W')) 11リットル.append(オープン( '一目/ CMD / manage.py'、 'W')) 12 l.append(オープン( '一目/ DB / models.py'、 'W')) 13マップ(ラムダF:F。クローズ()、L) 14 15创建目录代码
3目录结构
一目/#トップレベルパッケージ 2 3├──は一目パッケージ#Initializeを__init__.py 4 5├──API #SubpackageのAPIの 6 7│├──__init__.py 8 9│├──policy.py 10 11 │└──versions.py 12 CMD #Subpackage 13├──cmdの 14 15│├──__init__.py 16 17│└──manage.py 18 DB 19└──デシベル#Subpackage 20 21├── __init__.py 22 23└──models.py 24 25目录结构
4文件内容
5.ソフトウェア開発の仕様
6.絶対インポート
一目/ 2 一目インポートAPIから3├──__init__.py 一目インポートCMDから4 一目インポートDBから5 6 7├──API 8 glance.apiインポート・ポリシーから9│├──__init__.py glance.apiから10インポートバージョン 11 12│├──policy.py 13 14│└──versions.py 15 glance.cmdインポートから├──CMDが管理する16 17 18│├──__init__.py 19 20│└──manage.py 21 24├──__init__.py 25 glance.dbインポートモデルから22└──DB 23は、 └──models.py 26は、 27 28絶対導入
導入7.相対
一目/ 2 から3├──__init__.py。輸入のAPI#。表示当前目录 から4。インポートは、cmdを 5から。インポートDB 6 7├──API 8 から9│├──__init__.py。輸入政策 から10。インポートバージョン 11 12│├──policy.py 13 14│└──versions.py 15 16├──CMDから。インポートの管理 17 18│├──__init__.py 19 ..apiインポート・ポリシーから20│└──manage.py 21位..親ディレクトリで、APIパッケージは、APIからの輸入政策をダウン一目見つけるために、前のディレクトリに戻る必要があります使用されるポリシー方法を管理したいです 22 から23└──DBを。輸入モデル 24 ├──__init__.py 25 26である 27└──models.py 28 相対に導入29
8.import一目直後に呼び出されるモジュールのメソッド
一目/ 2 .APIインポート*から3├──__init__.py .CMDインポート*から4 .DBインポート*から5 6├──API 7 8│├──__init__.py __all__ = [ 'ポリシー'、 'バージョン'] 9 10│├──policy.py 11 12│└──versions.py 13 14├──CMD __all__ = ['] '管理 15 16│├──__init__.py 17 18│└──管理します。 PY 19 20└──DB __all__ = [ 'モデル'] 21 22├──__init__.py 23 24└──models.py 25 26 27輸入一目 28 policy.get() 29 30インポート一目