新lin上的Python通知

2024-04-16 20:42:44 发布

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

我希望在web上的.txt文件发生更改时收到通知,例如在日志文件中,例如 http://overrustlelogs.net/Cowsep%20chatlog/November%202015/2015-11-18.txt

我正在使用urllib2检索数据,并使用prowlpy发送电话通知,但我不确定如何检查文本文件是否已更改。(有新台词时,甚至有人提到我的名字时,我都希望得到通知)

编辑:我不认为得到它的MD5散列是一个很好的方法,我只是不想在文本文件中的新行通知。我可能会让它每10秒循环一次,并向我发送自上一个文本文件以来的更改通知


Tags: 文件数据txtwebhttp编辑neturllib2
1条回答
网友
1楼 · 发布于 2024-04-16 20:42:44

您可以使用filecmpdifflib来比较文件,并且可以以各种格式生成不同的信息。下面是一个简短的diff示例:

s1 = ['bacon\n', 'eggs\n', 'ham\n', 'guido\n']
s2 = ['python\n', 'eggy\n', 'hamster\n', 'guido\n']
for line in context_diff(s1, s2, fromfile='before.py', tofile='after.py'):
    sys.stdout.write(line)

输出:

*** before.py
 - after.py
***************
*** 1,4 ****
! bacon
! eggs
! ham
  guido
 - 1,4   
! python
! eggy
! hamster
  guido

我建议您不要为此任务每10秒循环一次。您可以使用celery每10秒左右安排一次任务。你知道吗

相关问题 更多 >