アプリケーションには多くの定数変数があります。このアプリケーションでは、モジュールをインポートします。テストの一環として、変数の名前とその値を出力するインポートされたモジュールの関数から呼び出したいと思います。
これは私のコードではありませんが、これは私がやりたいことの概念を示しています:
-main.py-
import mymodule
DEBUG = True
BATCH = False
ShowVars(['DEBUG','BATCH'])
-mymodule.py-
def ShowVars(varlist):
for name in varlist:
print('{} -> {}').format(name,eval(name))
もちろん、「DEBUGが定義されていません」というeval(name)でエラーが発生しますが、この概念を機能させようとしています。
私が見つけた 1 つの方法は、main.py を次のように変更することです。
-main.py-
import mymodule
DEBUG = True
BATCH = False
mymodule.DEBUG=DEBUG
mymodule.BATCH=BATCH
ShowVars(['DEBUG','BATCH'])
それから物事はうまくいきますが、私はそれが好きかどうかわかりません...どんなアイデアや逸話もいただければ幸いです。