1

状況は次のとおりです。私が現在働いている会社は、JavaまたはPythonのいずれかを使用してアプリケーションを開発する自由を与えてくれました。同社は主にJavaの経験があります。

私はPythonを使用することにしました。そのため、彼らが持っているデータベースのメンテナンスに関連するすべてのpythonプロジェクト/スクリプトのメンテナンスを依頼してくれてとてもうれしく思います。

これらすべてを処理するのはそれほど悪くはなく、Javaプログラマーと比較して私がどれだけの空き時間を持っているかを見るのは楽しいことです。1つだけですが、プロジェクトのレイアウトが混乱しています。

会社中の仮想マシンに単純に配置されるスクリプトはたくさんあります。それらのいくつかは、いくつかのモジュール(最大4つ)にまたがる複雑な機能を備えています。

考えてみると、どう対処したらいいのかわからないので、3つの質問があります。

  • スタンドアロンスクリプトはどこに配置しますか?バージョン管理システムとしてgitを使用します。
  • ユーザーがプログラムを実行するためにフォルダーを深く掘り下げる必要がないように、プロジェクトのレイアウトをどのように構成しますか(Javaでは、いくつかのブートストラップ操作を処理するためにjarまたはjarとシェルスクリプトを作成しました)。
  • 簡単に再利用できるモジュールを作成する標準的な方法は何ですか(mycompany.myapp.mymodule?)
4

2 に答える 2

2

パッケージは、モジュール階層を作成する方法です。ディレクトリで呼び出されるファイルを作成すると、__init__.pyPython はそのディレクトリをパッケージとして扱い、ドット付きインポートを使用してその内容をインポートできるようにします。

spam \
       __init__.py
       ham.py
       eggs.py

import spam.ham

パッケージ内のモジュールは相互に参照できます -- ドキュメントを参照してください。

これらがすべて DB メンテナンス スクリプトである場合、DB か何かというパッケージを作成し、その中にすべて配置します。より複雑なものにはサブパッケージを用意できます。したがって、トランザクション ログをクリーンアップするためのスクリプトがあれば、それを入れて実行できourDB.cleanます。

import ourDB.clean
ourDB.clean.transaction_logs( )
于 2010-08-12T19:59:30.493 に答える
2

スタンドアロン スクリプトはどこに置くのですか?

それらが何をするのか、人々がそれらを使用する理由に基づいて、それらを「機能的に」整理します。

言語 (Python と Java) は関係ありません。

スクリプトを、あるニーズに焦点を当てた小さなアプリケーションと考え、そのアプリケーションに適したディレクトリ構造を作成する必要があります。

と を使用/opt/thisapp/opt/thatappます。共有マウント ポイントが必要な場合は、別のパスを使用できます。

ユーザーがプログラムを実行するためにフォルダーを深く掘り下げる必要がないように、プロジェクトのレイアウトをどのように構成しますか?

それらが何をするのか、人々がそれらを使用する理由に基づいて、それらを「機能的に」整理します。/opt/thisappディレクトリの最上位には、 __init__.py(パッケージであるため) とmain.py、実際の作業を開始するスクリプトがある場合があります。

Python 2.7 と Python 3 には、runpyモジュールがあります。これにより、最上位のメイン スクリプトに名前を付けることができます。__main__.py

http://docs.python.org/library/runpy.html#module-runpy

簡単に再利用できるモジュールを作成する標準的な方法は何ですか (mycompany.myapp.mymodule?)

についてお読みくださいpackageshttp://docs.python.org/tutorial/modules.html#packages

于 2010-08-12T20:07:58.237 に答える