使用了PySimpleGUI库,用于提供输入输出面板,具体代码如下
import PySimpleGUI as sg
import os
import hashlib
def md5(path):
files = os.listdir(path)
for file in files:
with open("{}/{}".format(path,file), 'rb') as f:
md5 = hashlib.md5()
while True:
data = f.read(4096)
if not data:
break
md5.update(data)
sg.Print('"{}"'.format(file)," md5 ", md5.hexdigest())
sg.theme('SandyBeach')
layout=[
[sg.Text('Reading:',font=("微软雅黑", 12)),sg.Text('',key='fold',size=(15,1),font=("微软雅黑", 10),text_color='blue')],
[sg.FolderBrowse("Select",target='fold',key='folder'),sg.Button("Act"),sg.Button("Close")]
]
window=sg.Window("md5",layout,font=("微软雅黑",15),default_element_size=(100,100))
while True:
event,values=window.read()
if event in (None,"Close"):
break
if event in ("Act"):
md5(values['folder'])
window.close()
使用Select键选择文件夹,注意,此文件夹中不可以包含文件夹,只可以包含文件,选择Select即可获取按照作业要求的md5格式群。