3 回答
TA贡献1893条经验 获得超10个赞
为什么要先写入文件然后读取?此外,您使用冲洗,所以您可能会做长时间的io。我会做
with open(originalpath) as f:
mat = f.read()
while condition :
run += 1
write_mat_run(mat, run)
mat = func(mat)
write_mat_run可以在另一个线程中完成。您应该检查io异常。
顺便说一句,这可能会解决您的错误,或者至少要弄清楚。
TA贡献1883条经验 获得超3个赞
我看不到您的代码有什么问题。以下具体示例在我的Linux机器上工作:
import os
run = 0
while run < 10:
run += 1
prevrun = run-1
if os.path.isfile("output%d.txt" %prevrun):
matfile = open("output%d.txt" %prevrun, "r")
data = matfile.readlines()
matfile.close()
else:
matfile = open("input.txt", "r")
data = matfile.readlines()
matfile.close()
data = [ s[:-1] + "!\n" for s in data ]
emissionmat_file = open("output%d.txt" %run, "w")
emissionmat_file.writelines(data)
emissionmat_file.close()
它将感叹号添加到文件中的每一行input.txt。
添加回答
举报