python判断两个文件是否相同
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
import hashlib
def getHash(f):
line = f.readline()
hash = hashlib.md5()
while (line):
hash .update(line)
line = f.readline()
return hash .hexdigest()
def IsHashEqual(f1,f2):
str1 = getHash(f1)
str2 = getHash(f2)
return str1 = = str2
if __name__ = = '__main__' :
f1 = open ( "D:/2.iso" , "rb" )
f2 = open ( "E:/wenjian/1.iso" , "rb" )
print IsHashEqual(f1,f2)
|
计算2个文件的MD5值,大文件计算较慢
python对两个文本进行相同项筛选
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
import os
import os.path as osp
def filter (path):
file_path = osp.join(path, 'index.txt' )
if osp.exists(file_path):
return file_path
index_file = open (file_path, 'a+' )
if not os.path.isdir(path): #判断path是否为路径
return
for root, dirs, list in os.walk(path):
for i in list :
dir = os.path.join(root, i) #将分离的部分组成一个路径名
#if os.path.getsize(dir) < 60000: #获取文件大小
#os.remove(dir) #删除文件
print (i)
index_file.write(i + '\n' )
index_file.close()
def compare(path):
file = osp.join(path, 'label.txt' )
file_path = osp.join(path, 'index.txt' )
with open (file_path, 'r' ) as file1:
with open ( file , 'r' ) as file2:
same = set (file1).intersection(file2)
same.discard( '\n' )
with open ( 'some_output_file.txt' , 'w' ) as file_out:
for line in same:
file_out.write(line)
file_out.close()
filter (r 'D:\Desktop\jiaoben\ci' )
compare(r 'D:\Desktop\jiaoben\ci' )
|
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对服务器之家的支持。如果你想了解更多相关内容请查看下面相关链接
原文链接:https://blog.csdn.net/qq_36155051/article/details/76215081