問題タブ [python-importlib]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
168 参照

python - Python3: プログラムで別のファイルから関数を追加することにより、大規模なクラスを区画化

注: この質問は、 Adding functions from other files to a Python classの修正/拡張です。これは部分的にimp非推奨になっているためです。

コンテキスト: 大きなクラス ファイル (+5000 行) があるとしますMainClass.py。コードをより適切に区分するために、関連する関数を別のサブファイルに移動したいと思います。たとえば、目的のディレクトリ構造は次のようになります。

これらの関数をロードして、MainClass

現在私は持っています:

しかし、これはImportError,を吐き'main_class_functions_1' is not a packageます。

(リンクされた投稿からコードをコピーして貼り付け、それが機能するかどうかを確認しようとしましたが、機能しませんでした)。

0 投票する
1 に答える
347 参照

python - Python で `import xyz as z` を動的にインポートする方法

やること

動的に、私は次のことができます

しかし、次のことを動的に行うにはどうすればよいですか

問題のコンテキスト:

デフォルトのバージョン(0.9)ではなく、別のディレクトリにインストールされたモジュール(私の場合は「pika」)の別のバージョン(0.10)をインポートする必要があります。

ご覧のとおり、通常のインポートは正常に機能しています。ただし、動的にインポートする場合、場所を基準にしてインポートすると問題が発生します。importlib.import_module のドキュメントに従って、以下は機能するはずですが、機能しません。

また、相対パスの下にモジュール pika がないため失敗するはずの相対パスから 'pika' をインポートしようとすると、まだデフォルト モジュールからインポートされています。

私が見逃しているのは何ですか?私は主に次のことを動的に行いたいと考えています。