python 遍历文件夹内文件生成MD5码,及python函数等命名规则
import os
from hashlib import md5
lst = []
def traverse(rootDir):
for root, dirs, files in os.walk(rootDir):
for file in files:
lst.append(os.path.join(root, file))
for dir in dirs:
traverse(dir)
def createMD5tofile(file):
m = md5()
a_file = open(file, 'rb')
m.update(a_file.read())
a_file.close()
return m.hexdigest()
if __name__ == '__main__':
rootDir = input('输入文件夹路径,例如(D:\\test\\xxx):')
traverse(rootDir)
filefullpath = input('输入存放文件路径,例如(C:\\Users\\Administrator\\Desktop\\md5.txt):')
if os.path.exists(filefullpath):
os.remove(filefullpath)
with open(filefullpath, 'a', encoding='utf-8') as f:
for i in lst:
md5v = createMD5tofile(i)
lastone = i.split('\\')
f.write(md5v) + f.write(' ') + f.write(lastone[-1]) + f.write('\n')
代码的大概思路是:traverse方法传入绝对路径获取文件夹,然后遍历文件夹内的文件夹或文件,并将最后的文件路径写入lst列表内;CreateMD52file方法是生成文件的MD5码;主方法是将生成的MD5码写入指定的文件,并将文件名也写入到文件内(此时的文件名不带路径了,已处理)