いいえ。両方のインスタンスを別々のプロセスで実行している限り、メモリが魔法のように共有されることはありません。
2つの異なる(Python)プロセスを開始しています。これらのプロセスは、構成モジュールをインポートします。簡略化すると、これはconfig.pyにコードをロードする形式にすぎません。プロセス間でこれ以上の通信は行われません。
(補足として、config.pyのコードは最初にのみ解釈され、コンパイルされて別のconfig.pycに保存され、ロードがはるかに高速になります。次にconfig.pyを編集すると、config.pycが再作成されます) 。
他のオプションがあります:
- スレッドを使用する
- パイプなど、他の形式のメモリ共有を使用します。
スレッドの例:
config.py
flag = False
test.py
import thread
import time
import config
def test1():
while 1:
config.flag = True
time.sleep(0.7)
print 'test1:', config.flag
time.sleep(1)
def test2():
while 1:
config.flag = False
time.sleep(1.1)
print 'test2:', config.flag
time.sleep(1)
thread.start_new(test1, ())
test2()
これを行おうとしている理由を投稿すると役立つ場合があります。マルチスレッドは難しいトピックです。この質問は役に立つかもしれません:https ://stackoverflow.com/questions/4690518/multithreading-in-python