私は、1つの.pyソースファイルを含む本当にシンプルなモジュールを作成しようとしていますが、すでに障害に直面しています。 scons-config
と呼びますが、import scons-config
はPythonでは機能しません。私は this SO question を見つけ、 PEP8スタイルガイド を見ましたが、ちょっと戸惑っています。2ワードについては話していない-命名規則。
これに対処する正しい方法は何ですか?
edit:「アンダースコアの使用はお勧めできません」と表示され、行き詰まりました。「sconsconfig」または「scons_config」を使用する必要があります(私は他のものが出ていると思います)?
必要な場合は、常にアンダースコアを使用してください_
。
ドットを使用する.
は機能しません。
from scons.config import whatever
壊れるだろう。
しかし PEP 8 はそれを明確に説明しています:
パッケージ名とモジュール名
モジュールには、短い、すべて小文字の名前が必要です。 アンダースコアは、モジュール名で使用できます場合は可読性が向上します。 Pythonpackagesも、すべて小文字の短い名前にする必要がありますが、アンダースコアのの使用は推奨されません。
UPDATE:
質問を直接ターゲットにするには:sconsconfig
で十分だと思います。長すぎず、読みやすいです。
しかし、正直なところ、アンダースコアを使用してコードを実行しても、誰もあなたを責めるとは思いません。 thatもう気にしない特定のレベルが常にあります。
まず、モジュール名は単一の.pyファイルの名前と同じです。 Pythonで言えば、いくつかの.pyファイルのコレクションはパッケージです。
PEP-8は、パッケージ名をアンダースコアで分割することを推奨していません。私のsite-packagesディレクトリのピークは、マルチワード名が通常一緒に実行されることを示しています(例:setuptools、sqlalchemy)
モジュール名(つまり、ファイル名)はアンダースコアによって分割される場合があります(そして、私は通常、これを実行します。
小文字のみを使用してください(PEP-8に準拠)。これにより、大文字と小文字を区別するファイルシステムから大文字と小文字を区別しないファイルシステムに移行するときの問題を回避できます。
-
は禁止です。記号はマイナス演算子に使用されます。ほとんどのプログラミング言語でも同じことが言えます。使用する _
またはそれ以外はまったくありません。