我在項目中使用metamap作爲外部程序。項目中的完整代碼是用Python編寫的。在我的代碼中的一個地方,我必須將輸入文件作爲參數傳遞給metamap,然後讀取metamap生成的輸出文件。我打電話給metamap如下:等待直到外部過程完成寫入文件
command = '/bin/metamap --silent --sldiID temp_input'
subprocess.call(command, shell=True)
在上面的例子中,輸出文件是由temp_input.out在當前工作目錄中生成的。然後我需要處理這個輸出文件的內容。我目前面臨的問題是python代碼向前移動考慮輸出文件爲空。我怎樣才能確保輸出文件被完全寫入,然後Python代碼纔會向前移動。
截至目前,我正在做的以下我覺得是不是正確的方式或最乾淨的方式來實現上述。
while fileExists == False:
if os.path.isfile(outputFileName):
fileExists = os.stat(outputFileName).st_size != 0
你能解釋一下在上面的代碼中你會怎麼做? – shuklaham