我正在做一个Python项目。我有一个文件列表,我想得到md5检查。然后它将校验和存储在另一个列表中。然后它再次检查,看看它们是否不同。我有使校验和工作的功能,但现在我不知道如何将它们添加到列表中。这就是我要做的
import sys, hashlib
files = ['/home/file1', '/home/file2', '/home/file3', '/etc/passwd']
md5s = []
def getmd5(file, ex="", inc=""):
m = hashlib.md5()
try:
fd = open(file,"rb")
except IOError:
print "Can't retrieve MD5sum for ", file
pass
content = fd.readlines()
fd.close()
for eachLine in content:
if ex and eachLine.startswith(ex):
continue
m.update(eachLine)
m.update(inc)
a = m.hexdigest()
md5s.append(a)
for i in lists:
getmd5(i)
print md5s
但是当我试着这样做的时候,我得到了4个这样的列表:
^{pr2}$
我想做的是将每个哈希校验和存储在md5s列表中,然后读取它们是否不同。在
你没有4张单子。每次调用
getmd5
后,都会打印md5s
的内容,该操作会向列表中添加一个md5哈希。你刚好做了4次,因为你的文件列表中有4项。在这意味着您有一个列表,它包含最后一个for循环末尾的所有摘要。您正在for循环中打印构造列表,因此您无法理解它。删除打印前的缩进,以查看所需格式的结果。在
相关问题 更多 >
编程相关推荐