一个无依赖关系的旋转文件处理程序,它可以在需要时旋转,而不是基于字节大小。
RotatingTextFile的Python项目详细描述
旋转文本文件
一个旋转的文件处理程序,它可以在需要时旋转,而不是基于字节大小。在
何时使用此模块?
- 当你有一个小的例子,日志被写入一些文本文件,从几个函数,你只想它旋转,而不必重新写所有的写调用与一些新的包。在
为什么不使用Python日志模块提供的RotatingFileHandler呢?
- 如果您正在考虑日志记录,请使用RotatingFileHandler。它提供了doRollover方法,该方法具有相同的功能,但具有所有日志api。在
- 本模块旨在解决这样的情况:输出只是被转储到某个文件中,随着时间的推移,代码变得如此巨大,以至于需要旋转文本文件而不必对整个代码库进行分解/重构。在
安装
pip install RotatingTextFile
用法:
- 任何带有文本文件的现有代码都可以替换为RotateTextFile构造函数和checker函数。在
- 例如:
如果你有一些代码,比如:
with open("path/to/text/file","w") as fp:
fp.write("some log")
你要做的就是:
^{pr2}$- ^每次写入时调用{
}。您可以将它看作是一个类似于sort函数的类比,该函数将您的 checking
函数作为输入。在 RotateTextFile
继承io.TextIOWrapper
,因此要传递io.TextIOWrapper
构造函数的任何参数,只需将它们作为关键字参数传递。在- 由于文件只在写入时旋转,
RotateTextFile
构造函数以ab+
模式打开文件。其他支持的模式有:wb
。mode
可以传递为:RotateTextFile("path/to/text/file",condition,10,'wb'):
backupCount
表示文件在旋转之前可以有多少个备份。在- 与Python日志模块提供的
RotatingFileHandler
一样,RotateTextFile
保证要写入的文件始终是filename.log
- 项目
标签: