python 比较文件是否相同
#!/usr/bin/env python# -*- encoding: utf-8 -*-'''@文件:compare.py@说明:@时间:2021/07/09 17:56:20@作者:shitao.li@版本:1.0'''import osimport arrayshortArray = array.array('h')def cmp_file(f1, f2):st1 = os.st.
·
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
'''
@文件 :compare.py
@说明 :
@时间 :2021/07/09 17:56:20
@作者 :shitao.li
@版本 :1.0
'''
import os
import array
import sys
file1 = sys.argv[1]
file2 = sys.argv[2]
shortArray = array.array('h')
count = 0
count_diff = 0
def cmp_file(f1, f2):
st1 = os.stat(f1)
st2 = os.stat(f2)
global count
global count_diff
# 比较文件大小
if st1.st_size != st2.st_size:
print('size is no same')
# return False
bufsize = shortArray.itemsize
with open(f1, 'rb') as fp1, open(f2, 'rb') as fp2:
while True:
b1 = fp1.read(bufsize) # 读取指定大小的数据进行比较
b2 = fp2.read(bufsize)
if not b1:
print(file1,"file end, compare end.")
print('\n')
return False
elif not b2:
print(file2, "file end, compare end")
print('\n')
return False
elif b1 != b2:
count_diff = count_diff + 1
elif b1 == b2:
count = count + 1
cmp_file(file1, file2)
print("same count is: ", count, "diff count is: ", count_diff)
print("compare file is:", file1, "<-->", file2)
print('\n')
# print("int arg is:", sys.argv[0], sys.argv[1], sys.argv[2])
更多推荐
已为社区贡献5条内容
所有评论(0)