首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python中打开文件后,如何判断文件是否被重命名?

在Python中打开文件后,如何判断文件是否被重命名?
EN

Stack Overflow用户
提问于 2014-06-20 13:47:48
回答 1查看 154关注 0票数 0

故事是有一个日志文件,它将以一定的间隔重复轮换。我需要用Python编写一个小工具,它总是在该文件中打印新日志,即使在它旋转之后也是如此。如何知道旧的日志文件已重命名,并在Python中打开新的日志文件?

EN

回答 1

Stack Overflow用户

发布于 2014-06-20 14:36:09

如果您正在填充相同的日志文件,即使在其轮换之后,您也是在尝试违背日志轮换的目的。执行日志轮换的原因之一是不想过多地增加日志大小,这样我们就不必在打开\搜索日志信息时遇到困难,而您的案例正在破坏这一目的。不过,如果您想这样做,那么您可以在轮换后检查保存日志文件的文件夹,您可以找到最新的轮换日志文件,即最近轮换的日志文件名为application.log.x (其中x是一个数字,即1,2,3,.)然后,在对日志文件执行写操作之前,您需要再次检查日志目录,以检查最新的轮换文件,如果存在比application.log.x更晚的文件,这意味着您正在写入的日志文件是轮换的,您可以将日志写入名为application.log.x+1的日志文件。

另一方面,如果日志轮换是在日志文件名中附加时间戳值以对其进行重命名,则在打开日志文件以进行写入(例如其app.log.timestamp )之前,您需要检查最新的轮换文件,并且在再次写入之前,您需要检查日志目录以找出最新的轮换日志文件。如果您发现一个轮换日志文件的时间戳大于app.log.timestamp的时间戳,那么您应该使用名称为app.log的文件。(时间戳+日志轮换的持续时间)

注意:应用轮换主要发生在两个基础上,即大小或时间戳,在我的观察中,文件通常在轮换后通过在其名称中附加一个数字或时间戳来重命名,例如,如果日志名是application.log,则在位置之后其名称将变为.log.x(其中x是数字1,2,3...)或者application.log。其中,timestamp是日志轮换发生的日期时间

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24320713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档