Pythonから私はJava関数を呼び出しています:
os.system("java -jar example.jar run myFunction 'inFile.txt' 'outFile.txt' " )
この関数はファイルを処理しており、出力は「outFile.txt」に書き込まれます。出力は、「inFile.txt」の情報に依存します。入力ファイルの処理と出力ファイルへの書き込み中に、「outFile.txt」が大きくなりすぎる(数十GB)場合があります。その場合、現在の処理を終了して、別のinFile.txtの処理に進みます。
書き込まれている私のoutFile.txtが10GB以上に成長したことを知る方法はありますか?
編集:Maksymによって提案されたように、私は次のコードを使用しており、機能しているようです。ありがとう
import subprocess
from time import sleep
p = subprocess.Popen(["java", "-jar", "example.jar", "run", "myFunction", "'inFile.txt'", "'outFile.txt'")
rc = p.poll() #returncode
while (rc == None):
sleep(1)
if(os.path.getsize(outFileName) < 1000000000):
rc = p.poll()
continue
else:
p.kill()
break