这段代码对我来说很好用。在末尾追加数据。
def writeFile(dataFile, nameFile):
fob = open(nameFile,'a+')
fob.write("%s\n"%dataFile)
fob.close()但问题是,当我关闭程序,然后再次运行时,我发现所有以前的数据都丢失了。进程从头开始写入,文件中没有数据。
但在运行过程中,它会完美地在文件末尾添加一行。
我不能理解这个问题。请帮帮忙。
注意:我正在使用带有python 2.6的Ubuntu-10.04
发布于 2013-05-03 22:50:51
你在这里发布的代码没有任何问题...我倾向于同意其他评论,即这个文件可能在您的代码中的其他地方被覆盖。
我能想到的显式测试的唯一建议(如果您的用例可以容忍它的话)是在函数的末尾抛出一条exit()语句,然后在外部打开文件(在gedit中也是如此),并查看最后的更改是否生效。
或者,您可以在终端中运行程序,并在此函数的末尾包含对pdb的调用,这将中断程序而不会终止它:
import pdb; pdb.set_trace()然后,每次运行此程序时,您都必须按下c键才能继续执行该程序。
如果验证无误,请搜索可能打开此文件的其他位置。
https://stackoverflow.com/questions/16360890
复制相似问题