使用Python在日志文件开头添加新行

2 投票
4 回答
1389 浏览
提问于 2025-04-17 11:07

我想在日志文件中的日期前面加一个新行。我有以下几个部分。

打开日志文件:

f = open("C:\Users\user\Desktop\Log.file")

在日期“25/01/2012”前面添加一个新行(这个日期可以唯一标识每一行日志)。

f.write("\n" + "25/01/2012")

错误:

Traceback (most recent call last): 
File "<pyshell#4>", line 1, in <module>
    f.write('\n' + "25/01/2012")
IOError: File not open for writing

4 个回答

1
open("C:\Users\user\Desktop\Log.file", "w")

不过请看看这个链接:http://docs.python.org/library/logging.html,这里有关于如何在Python中进行日志记录的内容。

补充:更好的选择是这个链接:http://docs.python.org/howto/logging.html#logging-basic-tutorial

6

根据Python文档中关于 open() 的说明,默认的模式是'r',也就是读取文件,而不是'w',也就是写入文件。你可以试着使用:

f = open("C:\Users\user\Desktop\Log.file", 'a')

来打开你的日志文件进行写入(如果文件已经存在,就不会把它删掉)

关于你最终的目标,也就是将信息记录到文件中,你有没有看过 logging模块?这个模块可以帮助你把所有的日志记录格式化,包括日期、级别、进程ID等很多有用的信息。

2
f = open("C:\Users\user\Desktop\Log.file","w");

默认情况下,文件是以'r'模式打开的,也就是读取模式。你可以在这里查看相关文档

注意:如果用'w'模式打开文件,会把原来的文件内容覆盖掉。如果想在文件末尾添加内容,可以用'a'模式。

撰写回答