3

私は現在、基本的にそのように構成されたアプリをコーディングしています:

main.py
+ Package1
+--- Class1.py
+--- Apps
+ Package2
+--- Class1.py
+--- Apps

2 つの質問があります。まず、両方のパッケージ内に、すべてのアプリに必要なモジュールがあります。たとえば、re. モジュールを必要とするすべてのファイルにインポートするのではなく、パッケージ全体のモジュールを一度にインポートする方法はありますか?

ご覧のとおり、両方のパッケージで Class1 が使用されています。コードの重複を避けるために、両方のパッケージ間で共有する良い方法はありますか?

4

3 に答える 3

5

これを行うことは強くお勧めしません。機能を使用するモジュールからインポートを分離することで、モジュール間の依存関係を追跡することがより困難になります。

ただし、本当にやりたい場合は、common_imports(たとえば)と呼ばれる新しいモジュールを作成し、必要なインポートを実行させることが1つのオプションです。

次に、他のモジュールに次を追加します。

from common_imports import *

これにより、そのモジュールからのすべての公開名 (すべてのインポートを含む) が得られます。

于 2013-03-02T13:13:28.040 に答える
0

2番目の質問に答えるために、指定された2つのモジュールClass1.pyが実際に同じである場合は、両方のパッケージにコピーしないでください。両方に共通するコードのみを含むパッケージに入れてからインポートします。ファイルをコピーして、両方のコピーでそれぞれの変更を維持しようとする必要はまったくありません。

于 2013-03-02T21:36:03.860 に答える