我偶然发现了一个问题。我有代码,每次运行代码时,都应在logfile
上附加all_logfile
的内容。
注意:
logfile
是文件的路径,因此:logfile = "path"
。all_logfile
是附加了logfile
中的旧日志的文件。这是附加代码:
with open(logfile) as f:
with open(all_logfiles, "a") as f1:
for line in f:
f1.write(line)
上面的代码有效,但是,我必须清除logfile
的内容。 filemode= 'w'
对我不起作用。
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s %(levelname)s %(message)s',
filename=logfile,
filemode='w')
以“ w”模式打开文件也不起作用。
with open('yourlog.log', 'w'):
pass
在写入新日志之前,有什么方法可以清除日志文件的内容吗?
谢谢。
答案 0 :(得分:0)
如果要在将数据写入all_logfile之后从日志文件中删除数据,则可以在将数据写入all_logfile之后截断该文件。下面的代码应该可以工作:
with open(logfile, "r+") as f:
with open(all_logfiles, "a") as f1:
for line in f:
f1.write(line)
f.seek(0)
f.truncate()