如何获取文件的标题修订号,或签入/更改时的更改列表编号

2024-04-24 14:32:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写一个python应用程序,它每天都会连接到perforce。应用程序在perfoce上获取excel文件的内容,对其进行解析,并将一些数据复制到数据库中。文件相当大,所以我想跟踪应用程序上次在数据库中读取的文件版本,这样我可以检查修订号是否更高,并避免在文件没有更改的情况下读取该文件。在

我可以在文件最后一次签入/更改时获取修订号或变更列表号。或者你对如何实现我避免不必要地阅读文件的目标有什么建议。在

我使用的是python2.7和perforcepythonapi


Tags: 文件数据版本数据库应用程序内容目标列表
1条回答
网友
1楼 · 发布于 2024-04-24 14:32:13

我想到了几个选择。在

  1. 最简单的方法是始终让您的程序使用同一个客户机并让它同步文件。你可以让你的程序调用p4 sync,看看你是否得到了一个新版本。如果你得到了新版本,就让它继续。这种方法的优点是不需要记住程序上一次运行的任何状态/版本。

  2. 如果您不喜欢使用固定客户端,可以让程序始终检查相关文件的当前头版本:
    p4 fstat //depot/path/yourfile |grep headRev | sed 's/.*headRev \(.*\)/\1/' 您可以将该版本存储在某个临时文件中,以便下次运行程序时使用,并每次比较版本。

  3. 如果您在固定的时间运行程序(例如通过cron),您可以检查最后一次修改时间(使用p4 filelogp4 fstat),如果时间介于上次运行时间和当前时间之间,则需要处理该文件。这个选项有点复杂,因为您需要解析这些不同的时间格式。

相关问题 更多 >