変数をPythonインポートパスに渡すにはどうすればよいですか

user3759990

パッケージパスをパラメータ化する方法を見つけようとしていますが、理解できませんでした。

次に例を示します。

次のようにすると__init__.py、動作します。a 、bはディレクトリ名であり、最後のディレクトリbにはc.pyファイルが含まれています。このファイルには、abc importdのクラス名として「d」が含まれています(Pythonはそれを取得します)問題なく)

ディレクトリ「b」を動的に渡すことができる変数として作成しようとしています。

次のようなもの:b = 'y' <-この名前はabcimportdから何らかの形で動的に計算されます

上記の識別子bは文字列であり、Pythonはそれを受け取りません。文字列「y」をモジュール識別子に変換するには、eval()、lambda、getattr()などが必要なようですが、機能させることはできません。 。

誰かが私を助けてくれませんか、事前に感謝します!

ブルース

泳ぐ
wim@wim-imac:/tmp$ find a 
a
a/__init__.py
a/b
a/b/__init__.py
a/b/c
a/b/c/__init__.py
a/y
a/y/__init__.py
a/y/c
a/y/c/__init__.py
wim@wim-imac:/tmp$ cat a/b/c/__init__.py 
d = 'd in b'
wim@wim-imac:/tmp$ cat a/y/c/__init__.py 
d = 'd in y'

importlibあなたが必要なものを持っています:

wim@wim-imac:/tmp$ python -i -c ""
>>> from importlib import import_module
>>> mod_a_b_c = import_module('a.b.c')
>>> mod_a_b_c.d
'd in b'
>>> mod_a_y_c = import_module('a.y.c')
>>> mod_a_y_c.d
'd in y'

これらは便利なラッパーです。特に「from」スタイルのインポートが必要な場合は、__import__magicメソッドを直接使用してfromlistkwargを使用する必要があります。構文を少しドラッグしますが、それでも可能です。

>>> d = __import__('a.b.c', fromlist=['d']).d
>>> d
'd in b'
>>> d = __import__('a.y.c', fromlist=['d']).d
>>> d
'd in y'

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

C ++ポインタを変更する出力パラメータにスマートポインタを渡すにはどうすればよいですか

分類Dev

変数の値をReactコンポーネントに渡すにはどうすればよいですか?

分類Dev

webpackのインポートパスを動的に変更するにはどうすればよいですか?

分類Dev

Python:すべての変数をインポートするにはどうすればよいですか?

分類Dev

クラス/変数が Python 3 にインポートされたかどうかを検出するにはどうすればよいですか?

分類Dev

Pythonインポートパスを永続的に追加するにはどうすればよいですか?

分類Dev

ローカル変数へのポインタを渡すにはどうすればよいですか?

分類Dev

関数ポインタをクラステンプレートパラメータとして渡すにはどうすればよいですか?

分類Dev

変数として渡されたreactコンポーネントにプロパティを追加するにはどうすればよいですか?

分類Dev

プロパティをステートレス/関数型コンポーネントに渡すにはどうすればよいですか?

分類Dev

可変数の引数をLLVMオプトパスに渡すにはどうすればよいですか?

分類Dev

@InputからAngular2コンポーネントのサービスに変数を渡すにはどうすればよいですか>

分類Dev

変数をまだ評価せずにカスタムコンポーネントに渡すにはどうすればよいですか?

分類Dev

Pythonパンダ、変数を介してコロン「:」をインデクサーに渡すにはどうすればよいですか?

分類Dev

React Routerで機能するように、変数を子コンポーネントに渡すにはどうすればよいですか?

分類Dev

Excel / VBA マクロ内から環境変数を使用して Python インストールにパスするにはどうすればよいですか?

分類Dev

ディスパッチ関数をヘッダーコンポーネントに渡すにはどうすればよいですか?

分類Dev

渡された変数でテラフォームインポートを使用するにはどうすればよいですか?

分類Dev

変数をtryからactionイベントに渡すにはどうすればよいですか?

分類Dev

変数をスプレッドシート関数に渡すにはどうすればよいですか?

分類Dev

refをネイバーコンポーネントに渡すにはどうすればよいですか

分類Dev

クラスインスタンスではないイベントに変数を渡すにはどうすればよいですか?

分類Dev

宣言型Jenkinsパイプラインのステージ間で変数を渡すにはどうすればよいですか?

分類Dev

絶対パスでインポートを解決するにはどうすればよいですか?

分類Dev

Angularのインポートでパスを短縮するにはどうすればよいですか?

分類Dev

phalconphpのメインビューに変数を渡すにはどうすればよいですか?

分類Dev

インライン変数テンプレートのカスタマイズポイントを作成するにはどうすればよいですか?

分類Dev

すべてのグローバル変数を関数にインポートするにはどうすればよいですか-Python

分類Dev

変数をアクションリスナーに渡すにはどうすればよいですか?

Related 関連記事

  1. 1

    C ++ポインタを変更する出力パラメータにスマートポインタを渡すにはどうすればよいですか

  2. 2

    変数の値をReactコンポーネントに渡すにはどうすればよいですか?

  3. 3

    webpackのインポートパスを動的に変更するにはどうすればよいですか?

  4. 4

    Python:すべての変数をインポートするにはどうすればよいですか?

  5. 5

    クラス/変数が Python 3 にインポートされたかどうかを検出するにはどうすればよいですか?

  6. 6

    Pythonインポートパスを永続的に追加するにはどうすればよいですか?

  7. 7

    ローカル変数へのポインタを渡すにはどうすればよいですか?

  8. 8

    関数ポインタをクラステンプレートパラメータとして渡すにはどうすればよいですか?

  9. 9

    変数として渡されたreactコンポーネントにプロパティを追加するにはどうすればよいですか?

  10. 10

    プロパティをステートレス/関数型コンポーネントに渡すにはどうすればよいですか?

  11. 11

    可変数の引数をLLVMオプトパスに渡すにはどうすればよいですか?

  12. 12

    @InputからAngular2コンポーネントのサービスに変数を渡すにはどうすればよいですか>

  13. 13

    変数をまだ評価せずにカスタムコンポーネントに渡すにはどうすればよいですか?

  14. 14

    Pythonパンダ、変数を介してコロン「:」をインデクサーに渡すにはどうすればよいですか?

  15. 15

    React Routerで機能するように、変数を子コンポーネントに渡すにはどうすればよいですか?

  16. 16

    Excel / VBA マクロ内から環境変数を使用して Python インストールにパスするにはどうすればよいですか?

  17. 17

    ディスパッチ関数をヘッダーコンポーネントに渡すにはどうすればよいですか?

  18. 18

    渡された変数でテラフォームインポートを使用するにはどうすればよいですか?

  19. 19

    変数をtryからactionイベントに渡すにはどうすればよいですか?

  20. 20

    変数をスプレッドシート関数に渡すにはどうすればよいですか?

  21. 21

    refをネイバーコンポーネントに渡すにはどうすればよいですか

  22. 22

    クラスインスタンスではないイベントに変数を渡すにはどうすればよいですか?

  23. 23

    宣言型Jenkinsパイプラインのステージ間で変数を渡すにはどうすればよいですか?

  24. 24

    絶対パスでインポートを解決するにはどうすればよいですか?

  25. 25

    Angularのインポートでパスを短縮するにはどうすればよいですか?

  26. 26

    phalconphpのメインビューに変数を渡すにはどうすればよいですか?

  27. 27

    インライン変数テンプレートのカスタマイズポイントを作成するにはどうすればよいですか?

  28. 28

    すべてのグローバル変数を関数にインポートするにはどうすればよいですか-Python

  29. 29

    変数をアクションリスナーに渡すにはどうすればよいですか?

ホットタグ

アーカイブ