使用seek(0,0)时,它会在python中任意删除文件顶部的行
当我运行上面的代码注释掉文件_log.seek0,0时,它会打印以下输出: 一, 二, 三, 四, 五, 六, 七, 八, 九, 十, 案件执行时间:2014年8月7日星期四12:26:32 但当我运行上述代码时,输出如下所示:-使用seek(0,0)时,它会在python中任意删除文件顶部的行,python,file,seek,Python,File,Seek,当我运行上面的代码注释掉文件_log.seek0,0时,它会打印以下输出: 一, 二, 三, 四, 五, 六, 七, 八, 九, 十, 案件执行时间:2014年8月7日星期四12:26:32 但当我运行上述代码时,输出如下所示:- ---------------------------------------------------------------------------- LTE RRC PARSER
----------------------------------------------------------------------------
LTE RRC PARSER
----------------------------------------------------------------------------
通过的个案数目=
失败个案数目=
***********************SUMMARY*************************
案件执行时间:2014年8月7日星期四12:35:28
正如您在第二次输出中看到的,许多行被模糊地覆盖了!使用seek0,0后,它会覆盖比需要更多的行。我想要的是在LTE RRC之前写的摘要部分。请帮忙
正如您在第二次输出中看到的,许多行被模糊地覆盖了
不,这并不含糊
它覆盖的字节数完全相同!根据需要
*********************************************************
----------------------------------------------------------------------------
除非您使用Windows和文本文件,否则会将159个字节写入文件,在这些情况下,\n将被替换为\r\n,最终将有164个字节
因此,文件的前159或164字节被覆盖。由于文件中的行很短,因此会丢失更多行,就好像它们更长一样。文件不是行。它们是字符或字节
当您返回到开始时,您正在覆盖那么多字符。
如果需要这样做,您必须提前计算字节数,以便留出足够的空间
也许您可以这样编写文件,在=之后留下空白,以便稍后覆盖
file_log.write("\n***********************SUMMARY*************************\n")
file_log.write("No. of cases Passed =\n");
file_log.write("No. of cases Failed =\n");
file_log.write("*********************************************************\n");
你以为会发生什么?您将搜索回文件的顶部,并在那里重写行。Seek不允许在文件中插入行,只允许覆盖行。为什么不在文件的顶部留下一个空白,即摘要消息的大小?为什么不按您想要的顺序写行呢?为什么要寻求帮助呢?Thanx非常感谢你的帮助,John。Thanx非常感谢你的洞察力:@user2168281如果你认为这个答案比另一个好,你可以通过接受这个答案来感谢我,或者当你至少有15个声誉时,通过投票来感谢我。
file_log.write("\n***********************SUMMARY*************************\n")
file_log.write("No. of cases Passed =\n");
file_log.write("No. of cases Failed =\n");
file_log.write("*********************************************************\n");
file_log.write("\n***********************SUMMARY*************************\n")
file_log.write("No. of cases Passed = \n");
file_log.write("No. of cases Failed = \n");
file_log.write("*********************************************************\n");
file_log.write("\n----------------------------------------------------------------------------\n")
file_log.write(" LTE RRC PARSER \n")
file_log.write("----------------------------------------------------------------------------\n")
file_log.write("\n\n")
file_log.write("Cases Execution Started At : " + datetime.datetime.now().ctime())
file_log.write("\n\n")