1

这段代码对我来说很好。在末尾追加数据。

def writeFile(dataFile, nameFile):
    fob = open(nameFile,'a+')
    fob.write("%s\n"%dataFile)
    fob.close()

但问题是当我关闭程序然后再次运行时,我发现以前的所有数据都丢失了。进程从头开始写入,文件中没有数据。

但在运行过程中,它完美地在文件末尾添加了一行。

我无法理解这个问题。请有人帮忙。

注意:我使用 Ubuntu-10.04 和 python 2.6

4

1 回答 1

1

您在此处发布的代码没有任何问题...我倾向于同意其他评论,即该文件可能在您的代码的其他地方被覆盖。

我能想到的明确测试这一点的唯一建议(如果您的用例可以容忍的话)是在函数末尾添加一个 exit() 语句,然后在外部打开文件(也就是在 gedit 中)并查看最后一次改变。

作为退出的替代方法,您可以在终端中运行程序并在此函数的末尾包含对 pdb 的调用,这将中断程序而不杀死它:

import pdb; pdb.set_trace()

然后,每次运行时,您都必须按 c 继续该程序。

如果检查成功,请搜索可能打开此文件的其他位置。

于 2013-05-03T14:50:50.863 回答