私はPythonで2つのプログラムを持っています。それらを Prog1.py および Prog2.py と呼びましょう。Prog1 は、外部デバイスからライブ データを取得するのに役立ちます。現在、データを取得すると、画面に出力されます。while ループが実行され、各反復で取得した新しいデータ セットが出力されます。現在、Prog2 は PyQtGraph を使用して構築された Python プログラムであり、モニターのようにリアルタイムでデータをプロットすることを目的としています。現在、Prog2 が行うことは (つまり、個別に実行する場合)、既に取得したデータをプロットすることです。これは動くプロットです。そのため、Prog2.py には、指定された間隔でタイマーによって繰り返し呼び出される update 関数があり、次のデータ ポイントでグラフを更新します (グラフを右に移動させるため)。
Prog1 と Prog2 は、独自のイベント ループ プロセスを持つ独立したイベントであるため、それらをリンクする方法がわかりません。私が考えた単純なアイデアの 1 つは、Prog1.py と Prog2.py を並行して実行し、Prog1.py にデータをファイルに保存するように依頼し (おそらくピクル?)、Prog2.py にデータを読み取らせてからグラフをプロットするように依頼することでした。しかし、私はこれに納得していません。これは汚れているように見えます。どういうわけか、Prog1.py 内で Prog2.py コード全体を実行したいと考えています。これを行うためのきれいな方法はありますか?
編集 - コード
Prog1.py
/*
Code to get data from USB
*/
def main():
while 1:
data = get_data()
print data
main()
Prog2.py は、タイマーを介してグラフを更新し、スクロールさせる PyQtGraph コードです。