Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonモジュールを整理するためのベストプラクティスは何ですか?


これは、プロジェクトを構造化するための非常に優れた方法を示すサンプルプロジェクトです:https://github.com/kennethreitz/samplemod。このプロジェクトは、「サンプル」モジュールの作成に関するものです。ディレクトリ構造は次のようになります。

README.rst
LICENSE
setup.py
requirements.txt
sample/__init__.py
sample/core.py
sample/helpers.py
docs/conf.py
docs/index.rst
tests/test_basic.py
tests/test_advanced.py

README.rstファイル: このファイルは、モジュールの簡単な説明、セットアップ方法、使用方法などを提供するためのものです。

ライセンス: ライセンステキストと著作権侵害の申し立てが含まれています。

setup.py: これは、マルチプラットフォームインストーラーとmakeファイルに対するPythonの答えです。コマンドラインインストールに精通している場合は、make &&makeinstallがpythonsetup.pybuild &&pythonsetup.pyinstallに変換されます。そのため、ユーザーマシンでプロジェクトをビルドするために使用されます。

requirements.txt: Pip要件ファイルでは、プロジェクトに貢献するために必要な依存関係(テスト、構築、およびドキュメントの生成)を指定する必要があります。プロジェクトに開発の依存関係がない場合、またはsetup.pyを使用して開発環境をセットアップする場合は、このファイルは不要です。

ドキュメント/: このディレクトリには、プロジェクトのドキュメントが含まれています。

テスト/: すべてのテストはこのディレクトリにある必要があります。最初は、単一のテストファイルがあります。それらが成長し始めると、モジュールディレクトリのようにテストを構造化できます。

サンプル/: このディレクトリには、実際のモジュールコードが含まれています。モジュールが単一のファイルのみで構成されている場合は、sample.pyとしてリポジトリのルートに直接配置できます。ライブラリは、あい​​まいなsrcまたはpythonサブディレクトリに属していません。このモジュールをパッケージ内に配置する場合は、これに__init__.pyファイルが含まれます。


  1. Python例外をログに記録する最良の方法は何ですか?

    ロギングモジュールをインポートしてから、logging.exceptionメソッドを使用してPython例外のログを作成します。 例 import logging try: print 'toy' + 6 except Exception as e: logging.exception("This is an exception log") 出力 次の出力が得られます ERROR:root:This is an exception log Traceback (most recent call last): File "C:/Users/Tutor

  2. Pythonでの例外処理のベストプラクティスは何ですか?

    Pythonでの例外処理のベストプラクティスのいくつかを以下に示します。 例外は、エラーステータスコードを返すよりも優れています。言語コア全体と標準ライブラリが例外をスローするため、Pythonで例外を処理する必要があります。エレガントに処理された例外は、エラーコードやトレースバックよりもいつでも望ましいです。 フロー制御に例外を使用しないのが賢明です。 例外は、通常の実行の一部ではない例外的な状況で発生します。 パターンが見つからない場合は-1を返す文字列の「find」を検討してください。ただし、文字列の終わりを超えてインデックスを作成すると、例外が発生します。文字列が見つからないの