我开发了一个客户端 - 服务器应用程序,并且我登录了服务器,因此我使用了日志记录模块。我想在服务器中创建一个命令来清除文件。Python:清除日志文件
我已经使用os.remove()进行测试,但之后,日志不起作用。
你有什么想法吗?
谢谢。
我开发了一个客户端 - 服务器应用程序,并且我登录了服务器,因此我使用了日志记录模块。我想在服务器中创建一个命令来清除文件。Python:清除日志文件
我已经使用os.remove()进行测试,但之后,日志不起作用。
你有什么想法吗?
谢谢。
截取文件而不是删除它可能会更好。最简单的解决方法是重新打开该文件从您的结算功能编写并关闭它:
with open('yourlog.log', 'w'):
pass
Thaks,这很好用! – Guillaume 2012-01-17 17:54:26
试试这个
>>> with open("gre.txt", "w") as file:
... file.truncate()
...
>>>
UPDATE:
file.truncate()
是没有必要的。您可以只pass
所以你基本上复制了newtover的答案 – Purefan 2017-04-27 08:00:33
该日志是由守护进程写入的吗?您必须向守护进程发信号告知日志文件已被删除,以便关闭/重新打开日志文件句柄并开始使用新的日志文件。否则,它会继续写入旧的文件,该文件仍然存在,直到其上的所有文件句柄关闭。 – 2012-01-17 17:29:39
将'mode =“w”'赋给['logging.FileHandler'](https://docs.python.org/2/library/logging.handlers.html#filehandler)。 – 2015-04-21 04:59:29