はじめに 普段はC++を使っているのですが,Pythonで何気なくプログラミングをしていて,ソースコードが長くなることを避けるために関数のファイルを分割してimportをしようと思いました. 同じことで困る人もいると思ったので,素早く解決できることを願います.短気な方はこちらへジャンプしてください. 他のコードからもimportすることを見越して, $ tree . ├── dir1 │ ├── mod1.py │ ├── mod2.py │ └── mod3.py └── dir2 └── main.py のようなフォルダ構造でやろうと思っていました. また,書くときに面倒にならないように,dir1.mod1.func1() のようではなく,func1()と関数を使用できるようにしたかった. 問題
何度もハマるので頭に刻み込む様に調べて習得するよ 前提 検証環境 実行は全てtreeコマンドを実行したパスと同パスでREPLを起動して行っている Pythonは2.7.5 パッケージとは Pythonでは__init__.pyを含むディレクトリをパッケージと言う ただのディレクトリでは再帰的にモジュールを検索しないため、基本的には__init__.pyが必要 読み込み時に検索する範囲 実行ディレクトリと同ディレクトリ カレントディレクトリ 環境変数「PYTHONPATH」に列挙したディレクトリ sys.pathに含むディレクトリ sys.pathは絶対パスの文字列リストであり、import sys; print sys.path 等の方法で確認できる 実例 同ディレクトリのメソッドをimportする
“初めてのPython“も佳境ですね。 あと2部読み進めればおしまいです。 “初めてのPython“を全て読むことが出来れば、Pythonistaとしての第一歩を踏み出せたことになります(自分の中で)。 初めてのPython V部 “初めてのPython“のV部は、”モジュール“に関してまとられています。 Pythonにおけるモジュールのインポートの仕方や、再読み込み、その扱いまで。 と、”その前にモジュールって何?“という方のためにWikipediaから引用しておきます。 プログラミングにおいて、一連の機能をひとまとまりになる複数の機能:モジュールに分割し、それぞれ別に開発する場合がある。こうすることで、全体として完成を早めることが出来る上、モジュール単位でテストしたりすることが可能になり、モジュールの入れ替えで機能を高めたり補修したりすることができるようになる。 モジュール –
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く