import datetime #To use date time functionality
file_log = open('.\Log_Detailed.log', 'w')
file_log.write("1 \n");file_log.write("2 \n");file_log.write("3 \n");file_log.write("4 \n");file_log.write("5 \n");file_log.write("6 \n");file_log.write("7 \n");file_log.write("8 \n");file_log.write("9 \n");file_log.write("10 \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")
file_log.seek(0); #This line is the problem
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.close();
当我运行上面的代码注释掉“文件_日志搜索(0,0)”,它打印以下输出:
1个
二
三
4个
五
六
七
8个
9个
10个
----------------------------------------------------------------------------
LTE RRC PARSER
----------------------------------------------------------------------------
案件执行时间:2014年8月7日星期四12:26:32
但是当我运行上面的代码时,输出显示为如下所示:你知道吗
***********************SUMMARY*************************
通过案例数=
失败案例数=
*********************************************************
----------------------------------------------------------------------------
案件执行时间:2014年8月7日星期四12:35:28
正如您在第二个输出中看到的,许多行被模糊地覆盖了!使用seek(0,0)后,它会覆盖比需要更多的行。我想要的是LTE RRC之前写的摘要部分。请救命!你知道吗
不,这并不含糊。你知道吗
它覆盖了同样多的字节(!)根据需要。你知道吗
向文件写入159个字节(除非您使用Windows和文本文件,否则在这些情况下
\n
将被\r\n
替换,最终得到164个字节)。你知道吗因此文件的前159(或164)字节被覆盖。由于文件中的行非常短,因此会丢失更多行,就好像它们更长一样。你知道吗
文件不是行。它们是字符或字节
当您返回到开头时,您将覆盖那么多字符。 如果您需要这样做,您必须提前计算字节数,以便留出足够的空间。你知道吗
也许您可以这样写文件,留下空的空间(在=)供以后重写。你知道吗
相关问题 更多 >
编程相关推荐