-1

だから私は2つのスクリプトを持っています。起動時に実行され、バックグラウンドで実行される Main.py。ユーザーが呼び出すたびに実行される otherscript.py 。

main.py は、一部のデータをクランチし、while ループの反復ごとにファイルに書き込みます。(このデータは約 1.17 MB です)、古いデータを消去します。したがって、data.txt には最新のクランチ データが含まれます。

otherscript.py は data.txt (その瞬間の現在のデータ) を読み取り、それに対して何かを行います。

main.py

while True:
    file = "data.txt"
    data = crunchData()
    file.write(data)

otherscript.py

data = file.read("data.txt")
doSomethingWithData(data)

2 つのスクリプト プロセス間の接続を高速化するにはどうすればよいですか? データをファイルに書き込む代替手段はありますか?

4

1 に答える 1

0

これはプロセス間通信 (IPC)の問題です。あなたの場合、基本的に生産者プロセスと消費者プロセスがあります。

あなたが見つけたように、IPC を行う 1 つの方法は、ファイルを使用することです。ただし、大量のデータが通過する場合、ディスクはすぐに飽和します。

常にすべてのデータを読みたいと思っている純粋な消費者がいる場合、これを行う最も簡単な方法はおそらくパイプです-少なくともUNIXプラットフォーム(mac、linux)を使用している場合。

クロスプラットフォーム ソリューションが必要な場合、私のアドバイスは、この場合はsocketを使用することです。基本的に、プロデューサー プロセスでネットワーク ポートを開き、コンシューマーが接続するたびに最新のデータをダンプします。ここでソケットに関する簡単なハウツーを見つけることができます。

于 2013-10-26T19:18:01.050 に答える