我目前在 python 和读取文件方面存在一些问题。我必须在 while 循环中打开一个文件并使用文件的值做一些事情。结果被写入一个新文件。然后在 while 循环的下一次运行中读取这个新文件。但是在第二次运行中,我没有从这个文件中得到任何值......这是一个代码片段,希望能澄清我的意思。
while convergence == 0:
run += 1
prevrun = run-1
if os.path.isfile("./Output/temp/EmissionMat%d.txt" %prevrun) == True:
matfile = open("./Output/temp/EmissionMat%d.txt" %prevrun, "r")
EmissionMat = Aux_Functions.EmissionMat(matfile)
matfile.close()
else:
matfile = open("./Input/EmissionMat.txt", "r")
EmissionMat = Aux_Functions.EmissionMat(matfile)
matfile.close()
# now some valid operations, which produce a matrix
emissionmat_file = open("./output/temp/EmissionMat%d.txt" %run, "w")
emissionmat_file.flush()
emissionmat_file.write(str(matrix))
emissionmat_file.close()
解决了!
matfile.seek(0)
这会将指针重置为文件的开头,并允许我在下次运行时正确读取文件。