我目前在一些truble关于巨蟒和读取文件读取文件。我必须在while循环中打开一个文件,并用文件的值做一些事情。结果写入一个新文件。然后在while循环的下一次运行中读取这个新文件。但在第二次运行中,我没有从这个文件中得到任何值......这是一段代码,希望能够澄清我的意思。的Python在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)
这将指针重置为文件的开头,并允许我在下一次运行中正确读取文件。
你为什么'emissionmat_file.flush()'写作之前,什么是您使用的是什么操作系统'matrix' – njzk2
的内容? – interjay
@interjay我正在使用Win7。 – swot