这段代码对我来说效果很好。在末尾附加数据。
def writeFile(dataFile, nameFile):
fob = open(nameFile,'a+')
fob.write("%s\n"%dataFile)
fob.close()
但问题是,当我关闭程序并稍后再次运行时,我发现以前的所有数据都丢失了。进程从头开始写入,文件中没有数据。
但是在运行过程中它完美地在文件末尾添加了一行。
我无法理解这个问题。请有人帮忙。
注意:我正在使用 Ubuntu-10.04 和 python 2.6
最佳答案
您在此处发布的代码没有任何问题...我倾向于同意其他评论,即该文件可能在代码中的其他位置被覆盖。
我能想到的明确测试这一点的唯一建议(如果您的用例可以容忍)是在函数末尾添加 exit() 语句,然后从外部打开文件(也称为 gedit)并查看最后一次更改是否发生。
除了退出之外,您还可以在终端中运行程序,并在此函数末尾包含对 pdb 的调用,这将中断程序而不杀死它:
import pdb; pdb.set_trace()
每次运行时,您都必须按 c 才能继续该程序。
如果检查结果正确,请搜索该文件可能被打开的其他位置。
关于Python 文件附加错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16360890/