私は複数のスクリプトによって参照されるヘルパー関数を持っています。私が持っていたアイデアは、ヘルパー関数を使って多くのスクリプトが本質的にリストに追加できるということです。そして、ある時点で、それらのスクリプトのどれかがリストの要素にアクセスできるようになりました。スクリプト間変数の保存
一部のスクリプトでは従来の 'import'ステートメントを使用していますが、他のスクリプトでは 'importlib.import_module()'を使用していますが、2つの組み合わせで問題が発生しているようです。
私が抱えている問題は、ヘルパー関数が現在のスクリプトによって書き込まれた値のみを格納することです。例えば
私が持っている場合は、:
Project/
|-- helpers/
| |--store_value.py
|-- framework/
| |runner/
| | |-- runner.py
| |validator/
| | |-- validator.py
そしてstore_value.pyに次のRunner.pyで
ALL_MSGS = []
def print_message(msg, display_messages=True):
"""
:param msg: [str] - String to be printed
:return: None - Work In Progress
"""
global ALL_MSGS
ALL_MSGS.append(msg)
if display_messages:
print(msg)
def return_all_msgs():
return ALL_MSGS
を私が持っている:
import store_value, validator
...
store_value.print_message("Calling Validator")
validator.validate()
print(store_value.return_all_msgs())
...
とバリデータを。 py:
importlib.import_module("store_value")
...
store_value.print_message("Running Validator")
...
その後、私は出力があることを期待する:
["Calling Validator", "Running Validator"]
しかし、今、私は取得しています:
[]
スクリプトをどのように実行していますか? –