モジュールとアプリケーション・ソフトウェア開発ディレクトリ指定の概念


「」「「」」
「」 '
モジュール:機能のシリーズの組み合わせで
3つのソース:サードパーティ製のカスタム構築された
フォームの4種類:シリーズの組み合わせPY PY文書ファイル(パケット)Cを用意インタプリタに接続されています内蔵のモジュールの共有ライブラリをコンパイルし
たモジュール上の理由で:開発効率を向上させるために、直接呼び出さ繰り返し書かれたモジュールと呼ばれる方法で、
モジュールの注意を:実行ファイルとインポートファイルを識別
モジュールの名前ではありません注PYファイル名を(ビルトイン、サードパーティ)競合

#インポートMD1#インポートモジュールの構文のインポート複数のモジュールを、それぞれがインポートモジュールの各ラインは、ファイルの先頭に記述された別の書き込みを必要とする
、より複雑な例は、別名としてモジュール名にエイリアスインポートモジュールのファイル名を取ることができたときにモジュールの名の下に
複数の輸入は限り、あなたは、既存の名前空間を使用し続けると、実行が重複しない


の実行のローカルファイルの名前空間を作成する:実行する実行可能ファイルを
実行モジュールファイル
生成空間にコードモジュールの実行モジュールの名前
の実行可能ファイルをスペースモジュールは、名前へのポインタを生成します

から...インポート文を使用して... 入力
デメリット:
1.モジュール名は、モジュール名接頭辞を追加する必要はありません。
現在のファイル名の競合をして実行することができるアクセスモジュールに2名を


値#アクセスモジュールの名前ポインティング
#印刷(md.money)#アクセスモジュールのインポートインポートモジュールの名前空間名の潜在的統一の文を使用して:モジュール名md.money関数名の名前が同じである
実行可能ファイルが同じ名前を持つことができますが、モジュールへの参照で指定されています道路名


1.限り、あなたは関数名の面で得ることができるよう(関数定義は、コードを実行するために、ステージに戻ります)関数を呼び出すためにどのような機能で囲まれ
2.関数が定義段階の名前を見ては死んで固定されていません呼び出しサイトの変更変更されるため

、ファイルをモジュールにインポートされるよう__all__ PYが現在位置を指定することができ、彼らが導入された名前を取得することができる人の数を制限することができ
、現在のモジュールファイル__all__ =で書かを[「名前1」、「名前を2「」名前。3 『]
マネー「」リード1「」READ2「]のリスト__all__が= [』で


モジュール内のインポート他のモジュール、その他のモジュールは、このモジュールのコードの後半で参照される、まだ与えられた変数定義されていない
場合にインポートの問題は避けるべきで、それはあなたのプログラムの設計は無理があるにする必要があり、循環の問題は、プログラムの設計段階でインポートする必要があります循環を生じ
溶液循環インポート質問
1.オプション1:サイクルをインポート 他のモジュールの導入を防止するために、ファイル()の下に書かれた文は、他のモジュールは、このモジュールのコードの後半で参照されるが、まだ定義された変数が与えられていない
2。





実行可能ファイル等しい__name__「は__main__機能を実行することができる場合__ name__等しい「__main__」ファイルが存在する:スクリプトファイルは次のように実行されたときに
ファイルをモジュールとしてインポートされた場合:__モジュール名にname__等しい場合は、このファイルモジュールファイル__name__同等の機能だけが実行されていない、呼び出しモジュールのファイル名を提供
#アクションを:異なるアプリケーションシナリオで異なるロジックの.pyファイルの実行を制御するために
__name__ ==「__main__」の場合:index1の ()
これは、このドキュメントでは、ファイルを実行する場合ことを意味し、その後、それ以外の機能モジュールファイルのみを呼び出すために、実行されない、機能を実行する


検索順序モジュール
メモリを探している1.スタート
2.内蔵のルック
:3.sys.path(環境変数)を探しに
インポートSYSの
印刷(SYS。パス)
を印刷(のsys.pathは):ファイルのパスを入れた大きなリストは、パスが常に実行現在のフォルダ内の最初のファイルです
\ Pythonのプロジェクトの\ day14:sys.path.append(r'D \絶対パスでデフォルトのパス環境変数を追加するDIR1「)が
実行可能ファイルが誰にインポートされている人をクリアファイル(******)を行う必要があり


、絶対にどこの実行可能ファイルのファイルパスに基づいてフォルダをインポートする必要があります それは、絶対パスで、優先
インポートされた絶対実行可能ファイルまたはファイル内の両方1.インポートに適用される
相対的な輸入
。現在のパスを代表して
パスは表して...
...は、上のパスを表し
注:
相対インポートファイルが導入されたモジュールの使用のみを使用して行うことができない、相対的な輸入を検討する必要はありません
最後に実行ファイルが誰が相対パスであることは、金型との間の相対的であり、現在のアプリケーションモジュールに相対的である、唯一のモジュールとモジュール間のパス関係知っておく必要があります


#ソフトウェア開発仕様カタログを
#binディレクトリにブートファイルstart.pyの内容

のインポートSYS
インポートOSの

BASE_DIR os.path.dirname =(os.path.dirname(__ FILE__))
sys.path.append(BASE_DIR)
"" "
インポートOSの
#印刷(os.path.dirname(__ FILE__))
の印刷結果は、SYSです。パス最初のディレクトリに(プリント(のsys.path))、即ち、カレントディレクトリの絶対パスは、ステッチパスのOSモジュールによって提供され
...あまりにものファイルシステムパスのコアへのパスを追加#1.低
#2でシステムパスにATMフォルダ
os.path.dirname(os.path.dirname(__ FILE__))これは、実行可能ファイルのカレントディレクトリのネストされた親ディレクトリを意味し、顧客が使用するソフトウェアをダウンロードするためのパス
pycharmを自動的に新しいトップレベルを保存します ディレクトリ環境変数が自動的に追加され
、ユーザーがソフトウェアにあなたをダウンロードするためにあなたが反対上記の2つの文ではありません
「」 "
コアインポートのsrcから、
それが親そのビンの親ディレクトリは、コアコードモジュールファイル名のコアディレクトリにファイルの起動ディレクトリで見つけることができ、実行可能ファイルのディレクトリであるため、#

もし__name__ ==『__main__』:#ファイルがある場合実行可能ファイルは、インポートモジュールは、実行()関数で実行される
()src.run


ソフトウェア開発ディレクトリ仕様
のbinディレクトリ
start.py起動ファイル
confディレクトリの
settings.pyプロファイルの
コアディレクトリ
src.pyコアロジック機能、コアコードは、ファイル
のdbディレクトリを
データベース
libディレクトリの
common.py共通モジュールファイル
、ログディレクトリ
log.logログファイル
のReadmeインタプリタ機能、ドキュメント
「」 '




おすすめ

転載: www.cnblogs.com/xiaozhenpy/p/11220589.html
おすすめ