1. ホーム
  2. python

モジュール名が変数にあるときにモジュールをインポートする [duplicate]

2023-12-09 13:39:15

質問

重複の可能性があります。

Pythonでの動的なモジュールのインポート

私は、ディレクトリからファイルの名前を取得し、これを別のモジュールに渡し、そのファイルをインポートする小さなスクリプトを書いています。

というわけで、流れは次のようなものです。 1) モジュール名を取得する (変数に格納する) 2) この変数名をモジュールに渡す 3) 変数名に格納されているモジュールをインポートする

私のコードは次のようなものです。

data_files = [x[2] for x in os.walk(os.path.dirname(sys.argv[0]))]
hello = data_files[0]
modulename = hello[0].split(".")[0]

import modulename

の問題は、import文に到達したとき、この変数に格納されている値ではなく、実際のモジュール名としてmodulenameを読み取ることです。私はpythonでこれがどのように動作するかについて不明である、この問題を解決するための任意のヘルプは素晴らしいだろう。

どのように解決するのですか?

あなたは、内蔵の __import__ 機能

new_module = __import__(modulename)