一个无依赖关系的旋转文件处理程序,它可以在需要时旋转,而不是基于字节大小。

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+模式打开文件。其他支持的模式有:wbmode可以传递为: RotateTextFile("path/to/text/file",condition,10,'wb'):
  • backupCount表示文件在旋转之前可以有多少个备份。在
  • 与Python日志模块提供的RotatingFileHandler一样,RotateTextFile保证要写入的文件始终是filename.log

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
由于java的原因,maven无法运行代码。lang.NoClassDefFoundError:com/fasterxml/jackson/annotation/JsonMerge   Android项目中的java Creative SDK图像编辑器UI   java如何在Android Studio中使用DataOutputStream上传文件并将其他参数传递到web服务器   java倒计时服务打开时崩溃   java将RubyonRails项目转换为JRubyonRails项目   java我的图库意图是不显示图像?为什么?   java如何在春季启动时跳过mongodb/   java@Autowired在Spring中是如何实现的   甲骨文Akka java。util。同时发生的timeoutexception线程池频繁超时   java maven依赖项对spring启动应用程序有何影响?   java Firestore执行复合查询,未截获事件“已修改”   java ItemStreamException:未能初始化读取器,原因是:IllegalStateException:流已初始化。重新开放前关闭   java将空标记解组到集合的新实例中   使用AspectJ的java新手:无法调用aspect   java查找棋类游戏的所有组合   你为什么要这样做and==与Java中的equals方法不一样吗?   如何对使用JavaUUID的代码进行单元测试?