2017-02-14 1 views
1

私は有意義に解釈されるだけで2つのファイル名を知っている:__init__.py__main__.pyパッケージレベルには他にどのような特別なモジュール(ファイル)がありますか?

__init__.py:パッケージの初期化ファイル。パッケージが最初にインポート/インポートされたときに実行されます。このファイルが存在する場合、ディレクトリはパッケージと見なされます(initモジュールを持たない "名前空間パッケージ"もあります)。

__main__.py:パッケージのメインエントリポイント。このファイルは、コマンドラインからパッケージを実行するときに実行されます。 (例:python -m PackageName

存在するファイルとは何ですか?

+0

*現在*他のものがあるかどうかわかりませんが、 '__ * __。py'にマッチするものはPython自体が使用するために予約されていると仮定します。ファイルを作成しないでくださいそのような名前であなた自身の。 – chepner

+0

しかし、これらのダンダーファイル*は作成することを意図しています。パッケージの一部.. – Inversus

+0

多分現在何もありません。私はその答えとしての決定的な証拠を受け入れるだろう。 – Inversus

答えて

4

唯一の特殊ファイルである__main____init__の確かな証拠はないと確信しています。しかし、唯一のものである確率が高いことを主張するまともな方法があります。file finder for the CPython repo.

__init__.py__main__.pyのものです。 @ chepnerのポイントは、他の唯一のダンダーによっても強調されています:__future__.py__*__.pyの他の使用法は、将来のPythonファイルと競合する可能性があるため、実際には使用しないでください。

私はソースがあるので、すべてのファイルで"__.*__.py"のためにグレープしても、上記のトリオ以外の結果は得られませんでした。

+1

私たち[チャットでこの議論を続ける](http://chat.stackoverflow.com/rooms/135691/discussion-between-jim-fasarakis-hilliard-and-inversus)。 –

関連する問題