引数に指定したファイルから変数をインポートしたい。どうすればそれを達成できますか?
例: 私のファイルが myfile.py だとします。
python myfile.py service.py
ここで、myfile.py に service.py の変数をインポートしたいと思います。
どうすればいいですか?
myfile.py
インサートの内側__import__
module = __import__(sys.argv[1].replace('.py', ''))
は最初のコマンドライン引数をインポートし、インポートmodule
された他のモジュールとして使用できます。からの戻り値__import__
はモジュールです。
本当に python では、import mod
は の省略形にすぎず、選択した場合mod = __import__('mod')
は関数を呼び出すことが__import__
できます。
例:
>>> module = __import__("math") #same as "import math as module"
>>> module.sqrt(16)
4.0
コマンドライン引数の内容でグローバル名前空間を汚染したい場合は、from *
ここでインポートを行う方法について読むことができます:
Python の __import__ 関数で "import * from module" と同等のことを行う方法は?