Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >python tkinter 文件MD5

python tkinter 文件MD5

作者头像
py3study
发布于 2020-01-15 03:31:51
发布于 2020-01-15 03:31:51
1.2K00
代码可运行
举报
文章被收录于专栏:python3python3
运行总次数:0
代码可运行

使用Python 2.7.10 tkinter 进行编写的“文件md5校验工具”。由于自己的水平问题,可能会存在一些错误,恳请大家指正,谢谢。

图形界面:

源码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#coding: UTF-8
#python tkinter 文件MD5校验
#环境 Python 2.7.10 
import Tkinter as tk
import hashlib
import  os
import tkFileDialog as tkf

def view_md5():  #计算结果显示方法
    v=[] #申明输出数组
    try:
        fmd5=md5_sum(fn) #调用文件校验方法,并返回输出结果
        v.extend(['---------------------------------------------\n'])
        v.extend(['File:{}\n'.format(fn)])
        v.extend(['Md5 :{}\n'.format(fmd5[0])])
        v.extend(['SHA1:{}\n'.format(fmd5[1])])
        v.extend(['---------------------------------------------\n'])
    except Exception:
        v.extend(['---------------------------------------------\n'])
        v.extend(['文件选择错误!\n'])
        v.extend(['文件不存在!\n'])
        v.extend(['请重新选择!\n'])
        v.extend(['---------------------------------------------\n'])
    #将结果逐行插入文本框内
    t1.insert(tk.INSERT,v[0])
    t1.insert(tk.INSERT,v[1])
    t1.insert(tk.INSERT,v[2])
    t1.insert(tk.INSERT,v[3])
    t1.insert(tk.INSERT,v[4]) 

def get_file(): #获取文件名和文件绝对路径方法
    global fn #定义全局变量用于存文件路径和文件名
    d_pwd=os.getcwd() #获取当前目录位置
    fn = tkf.askopenfilename(initialdir = d_pwd)#设置目录打开初始位置
    e1.delete(tk.END)                           #清空存储文件位置输入框
    e1.insert(0,fn)                             #将填入的文件输入到输入框

def cl_text(): #清空文本框内容方法
    t1.delete(0.0,tk.END)

def md5_sum(filename):     #文件校验值计算方法
    fd=open(filename,"rb") #打开文件
    fd.seek(0)             #将文件打操作标记移到offset的位置
    line=fd.readline()     #读取文件第一行进入line
    
    #md5校验值计算
    md5=hashlib.md5()
    md5.update(line)
    #SHA1校验值计算
    sha1=hashlib.sha1()
    sha1.update(line)
    
    while line:         #循环读取文件
        line=fd.readline()
        md5.update(line)
        sha1.update(line)
        
    fmd5=md5.hexdigest()  #生成文件MD5校验值
    fsha1=sha1.hexdigest()#生成文件SHA1校验值
    
    fsum=[fmd5,fsha1]
    fd.close()  
    return fsum

 
if __name__ == "__main__":
    master = tk.Tk()
    master.title("文件MD5校验") #标题
    # 300x300代表了初始化时主窗口的大小,200200代表了初始化时窗口所在的位置
    master.geometry('520x320+200+200')
    
    #创建1个文件标签,并以Grid方式布局。
    tk.Label(master, text="文件:",width=10).grid(row=0,column=0)

    #创建1个文件输出输入框,并以Grid方式布局。
    e1 = tk.Entry(master,width=50,state = 'normal')
    e1.grid(row=0, column=1)

    #创建1个文本输出框,并以Grid方式布局。
    t1=tk.Text(master,width=50,height=20)
    t1.grid(row=1, column=1)

    
    #创建“计算”、“选择文件”、“清空内容”3个按钮,并以Grid方式布局。
    b1=tk.Button(master,text = '计算',width=10,command = view_md5)
    b1.grid(row=1,column=3,rowspan=1)
    b2=tk.Button(master,text = '选择文件',width=10,command = get_file)
    b2.grid(row=0,column=3,rowspan=1)
    b3=tk.Button(master,text = '清空内容',width=10,command = cl_text)
    b3.grid(row=1,column=0,rowspan=1)

    tk.mainloop()
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/06/27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
tkinter实例
tkinter实例 import tkinter as tk import hashlib import time LOG_LINE_NUM = 0 class MY_GUI():     def __init__(self, init_window_name):         self.init_window_name = init_window_name     # 设置窗口     def set_init_window(self):         self.init_window_na
py3study
2018/08/03
1.8K0
python 文件MD5 SHA1校验计
#coding: GBK #md5SHA1文件校验值计算 #使用方法: python 文件.py  验证文件 import hashlib import sys import os defmd5_sum(filename):     #校验值方法     fd=open(filename,"rb") #打开文件     fd.seek(0)             #将文件打操作标记移到offset的位置     line=fd.readline()     #读取文件第一行进入line         #
py3study
2020/01/10
1.2K0
利用python制作一个翻译工具
之前基于有道翻译的翻译工具,有访问限制,超过一定次数后会提示访问过于频繁,后来发现百度翻译API,如果月翻译字符少于200万是不收取费用的,所以可以利用百度通用翻译API做一个翻译工具
冰霜
2022/03/15
7230
利用python制作一个翻译工具
Python批量图片识别并翻译——我用python给女朋友翻译化妆品标签
最近小编遇到一个生存问题,女朋友让我给她翻译英文化妆品标签。美其名曰:"程序猿每天英语开发,英文一定很好吧,来帮我翻译翻译化妆品成分",”来,帮我看看这个面膜建议敷几分钟“。。。。看来斥巨资买化妆品不算完,还需要会各种英文介绍。
呆呆
2021/05/23
1.2K0
python 小工具—图片转为字符txt
matinal
2023/10/13
3090
python 小工具—图片转为字符txt
不到100行代码搞定Python做OCR识别身份证,文字等各种字体
最近工作中涉及到一部分文档和纸质文档的校验工作,就想把纸质文件拍下来,用文字来互相校验。想到之前调用有道智云接口做了文档翻译。看了下OCR文字识别的API接口,有道提供了多种OCR识别的不同接口,有手写体、印刷体、表格、整题识别、购物小票识别、身份证、名片等。干脆这次就继续用有道智云接口做个小demo,把这些功能都试了试,当练手,也当为以后的可能用到的功能做准备了。
手撕代码八百里
2020/10/26
4.8K0
python图片脚本2-图片文件批量命名(详细注释+GUI界面+exe可执行文件)
本文介绍一个用python第三方库pillow写的批量处理图片命名的脚本,以及脚本对应的使用tkinter库写的GUI界面并把它打包成exe可执行文件,打包成可执行文件的好处就是它支持多种操作系统,如 Windows、Linux 和 Mac OS 等。不了解pillow库和tkinter库的可以看我之前的文章,具体在下面的导航区域。
laity
2025/02/26
1300
python图片脚本2-图片文件批量命名(详细注释+GUI界面+exe可执行文件)
基于Python+tkinter实现一个简易计算器桌面软件
你是否想过自己能够开发一个桌面小工具?如果答案是“是”,那么你来对地方了!今天,我们要一起使用Python中的tkinter库,来创建一个简易的桌面计算器。
子午Python
2023/09/15
4960
我的tkinter学习笔记2
接着上篇tkinter的学习记录 1、tkinter之单选和多选 #coding:utf-8 from tkinter import * # 定义一个root主窗口 root = Tk() root.title("应用程序窗口") # 定义两个变量,用于判断复选框状态 box_1 = False box_2 = False # 列表,用于存放选中内容 List_Content = [] def click_c1(): global box_1 # 复选框被选中,box_1置为True
用户6367961
2020/04/07
5720
Python Tkinter Gui 运行不卡顿,多线程解决界面卡死问题
Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口 .Tk 和 Tkinter 可以在大多数的 Unix 平台下使用,同样可以应用在 Windows 和 Macintosh 系统里。Tk8.0 的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中,Python 使用 Tkinter 可以快速的创建 GUI 应用程序,由于 Tkinter 是内置到 python 的安装包中、只要安装好 Python 之后就能 import Tkinter 库、而且 IDLE 也是用 Tkinter 编写而成、对于简单的图形界面 Tkinter 还是能应付自如。——摘编自Python GUI 编程(Tkinter) | 菜鸟教程
EXI-小洲
2022/12/13
3.5K0
Python Tkinter Gui 运行不卡顿,多线程解决界面卡死问题
我的tkinter学习笔记4
继续完善上篇的小工具功能,增加以下功能 a、增加关于作者信息标签 b、增加跑Monkey功能 c、增加日志输出和文件保存路径选择 一、先看下效果 二、实例代码 # coding:utf-8 fro
用户6367961
2020/04/15
5050
我的tkinter学习笔记4
窗口实例化
image.png #!/usr/bin/env python #-*-coding:GBK -*- from tkinter import * import hashlib import time LOG_LINE_NUM = 0 class MY_GUI(): def __init__(self,init_window_name): self.init_window_name = init_window_name #设置窗口 def set_init_window(self):
陈不成i
2021/06/22
5940
python3GUI编程 grid布局
grid布局是一种将界面描述成一个类似表格的布局,而每一个控件所占的空间均由表格中的单元格组成,例如可以合并几个单元格作为控件的使用空间。 而单元格的宽高则受控件的大小影响,当一个控件设置为占一个单元格空间,而该控件的长宽大于单元格默认大小,那么该单元格的所在的行与列都将自行拉伸,适应控件的大小。
py3study
2020/01/13
9000
python tkinter 设计指南
pack() 是一种较为简单的布局方法,在不使用任何参数的情况下,它会将控件以添加时的先后顺序,自上而下,一行一行的进行排列,并且默认居中显示。pack() 方法的常用参数如下所示:
独元殇
2023/03/21
7.1K0
TXT处理小工具(过滤、分割功能)分享
很酷的站长
2023/09/24
4520
TXT处理小工具(过滤、分割功能)分享
python学习之GUI(Tkinter
创建文本框,里面有一个按钮和文本框,通过获取文本框的内容,每点击一次按钮,都复制文本框中的内容并一起显示在文本框中。
py3study
2020/01/06
1.2K0
【python】Python tkinter库实现重量单位转换器的GUI程序
全栈若城
2024/02/29
4270
【python】Python tkinter库实现重量单位转换器的GUI程序
python3 GUI
参考一:https://www.cnblogs.com/monsteryang/p/6558904.html 参考二:https://blog.csdn.net/yingshukun/article/details/53983812 参考三:https://blog.csdn.net/C_Creator/article/details/52383334
py3study
2020/01/06
1.2K0
python3 GUI
Python + Tkinter 实现图形化机器翻译
Tkinter:Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口 .Tk 和 Tkinter 可以在大多数的 Unix 平台下使用,同样可以应用在 Windows 和 Macintosh 系统里。Tk8.0 的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中。
Wu_Candy
2022/07/04
6680
Python + Tkinter 实现图形化机器翻译
Python GUI编程:Tkinter
Python里的图形化界面(GUI)模块主要有Tkinter(python自带)、PyQt、wxPython,我们这节主要讲解Tkinter组件:
小雨coding
2020/08/03
7.4K0
相关推荐
tkinter实例
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验