我正在编写一个python脚本来监控网页中的更改。我在python中实现了diff命令,我在文件夹中有diff输出文件。
我有260个diff输出文件。逻辑上我无法检查所有260以知道哪个文件有变化。
是否有python解决方案来读取所有diff文件,并使用具有更改的文件名提醒我。
sample filename in my diff output folder: ['4streaming', 'net-log-2016-09- 26-12:29:32']-diff-output-2016-09-27-13:07:32.html
Required output: 4streaming has changed
如果我提问的方式错了,请原谅我。我是stackoverflow论坛的新手,提问。
答案 0 :(得分:4)
要检查两个文件是否具有相同的内容,您可以使用filecmp模块:
>>> import filecmp
>>> filecmp.cmp('a_file.txt', 'another_file.txt')
True
因此,在您拥有大量文件的情况下,您可以将其名称存储在列表中(ex.File_list),并使用itertools
将列表上的每个项目==文件与其他文件进行一次比较:
import itertools
for i,j in itertools.combinations(File_list, 2):
filecmp.cmp(i, j) #where i,j are actual file names
# do something based on the result
*要获取包含目录中所有文件名的列表,请查看this帖子。
另一种方法是对它们进行散列并比较散列。