我在项目中使用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