转自:blog.chinaunix.net/uid-13889805-id-5791356.html

import tkinter as tk
from tkinter import ttk
import tkinter.filedialog
import threading
import os#选择文件按钮的处理
def selectFile():resultlabel.configure(text="", wraplength=600)selectfile = tkinter.filedialog.askopenfilename()if selectfile != '':s_entry.delete(0,tk.END)s_entry.insert(0,selectfile)src_file=s_entry.get()if src_file != '':target_file=src_file+".txt"t_entry.delete(0, tk.END)t_entry.insert(0,target_file)convert_button.configure(state="enable")else:t_entry.delete(0, tk.END)convert_button.configure(state="disabled")def bin2hextext(srcfile,targetfile):
#二进制文件srcfile 转换成文本文件 targetfile,16进制显示,带偏移i=1try:fsrc=open(srcfile,mode='rb')ftarget= open(targetfile, mode='w')iBytes = fsrc.read()print("%08x:" % 0, file=ftarget, end='')for s_byte in iBytes:print("%02x" % s_byte,file = ftarget,end='')if i%16 == 0:print("" , file=ftarget)print("%08x:" % i, file=ftarget,end='')#刷新文件缓存 显示进度if i%(128*1024) == 0:status = ('%.2f%%' % ((i/(os.path.getsize(srcfile)) * 100)) )ftarget.flush()resultlabel.configure(text=status)i += 1fsrc.close()ftarget.close()return "Convert file successfully"except (OSError,TypeError) as reason:return "Error"+str(reason)#创建线程进行处理 防止界面卡死
def convert_thread_func(src,target):res = bin2hextext(src, target)resultlabel.configure(text=res, wraplength=600)convert_button.configure(state="enable")#转换按键的处理
def convert_func():convert_button.configure(state="disabled")resultlabel.configure(text="Processing ... ", wraplength=600)sf = s_entry.get()tf = t_entry.get()t=threading.Thread(target=convert_thread_func,args=(sf,tf))t.start()root=tk.Tk()
root.title("bin2text V0.1 by: deep_pro") #第一个版本 2018-10-04
tkinter.Label(root,text="source file:").grid(row=0,column=0)
tkinter.Label(root,text="target file:").grid(row=1,column=0)
tkinter.Label(root,text=" result :").grid(row=2,column=0)
resultlabel=tkinter.Label(root,fg="red",text=" ")
resultlabel.grid(row=2,column=1)
s_entry=tkinter.Entry(width=99)
t_entry=tkinter.Entry(width=99)
s_entry.grid(row=0,column=1)
t_entry.grid(row=1,column=1)ttk.Label(root,text=" ").grid(row=0,column=2)
ttk.Label(root,text=" ").grid(row=1,column=2)
src_button=ttk.Button(root,text="open",width=8,command = selectFile).grid(row=0,column=3)
convert_button=ttk.Button(root,text="convert",width=8,state="disabled",command=convert_func)
convert_button.grid(row=1,column=3)root.mainloop()#打包
#pyinstaller -F test.py --noconsole -i 32.ico

ps:写博客的都用的是chrome么,microsoft edge体验极差!!!

二进制文件转文本工具相关推荐

  1. ​linux中使用文本工具截取ip 的几种方法

    linux中使用文本工具截取ip 的几种方法 1,使用awk工具 [root@mycentos data]# ifconfig ens33 ens33: flags=4163<UP,BROADC ...

  2. linux文本工具总结,Linux 文本工具

    各种文本工具来查看.分析.统计文本 grep :文本过滤(模式  pattern)工具 grep[OPTIONS]   PATTERN   FILE --. 查看在/etc/passwd 文件中含有 ...

  3. android sdk源码 andoid-21 下的TextUtils.java文本工具类 源码赏析

    下面这个是android sdk自带的文本工具,比如提供EditText对象的内容是否为空判断,截取字符串啊等等 对外提供的方法都是以静态方法的方式提供 /* Copyright © 2006 The ...

  4. 在线2-36进制转文本工具

    在线2-36进制转文本工具 在线2-36进制转文本工具 将2-36任意进制转换成文本字符串,注意原始进制和分隔符的填写.将2-36任意进制转换成文本字符串,注意原始进制和分隔符的填写. https:/ ...

  5. 在线二进制转文本工具

    在线二进制转文本工具 在线二进制转文本工具 工具可以将空格分隔的二进制字符串转换为普通字符串,工具为实时转换,粘贴后即可完成转换. https://tooltt.com/bin2txt/

  6. 在线TSV转纯文本工具

    在线TSV转纯文本工具 在线TSV转纯文本工具 TSV To text Converter 轻松快速地将 csv 数据转换为 txt 文件. TSV To text Converter 轻松快速地将 ...

  7. 一键批量替换文本工具

    一键批量替换文本工具,很有用的~~ 访问地址:http://www.kuaipan.cn/file/id_27114605281017997.htm

  8. 实用技巧(二)——文本工具、自由变换

    一.文本工具 文本工具在电商领域所需要使用的ps范围内属于非常基础与常见的工具.ps的文本工具可以满足排版需求,拥有基本的字号大小.字体.对齐方式.颜色.样式以及段落间等修改功能.与word功能有异曲 ...

  9. 文本工具来查看、分析、统计,比较

    文章目录 一.文件查看命令 cat 由第一行开始显示文件内 tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写! nl 显示行号 more 一页一页翻动查看文件 在 more 这个程序 ...

最新文章

  1. 『码蛋』Android 周刊第1期
  2. extern 定义_Essential Cython - 2.7 - 定义并使用模板函数
  3. 进程管理—进程描述符(task_struct)
  4. linux学习之使用fdisk命令进行磁盘分区(八)
  5. 最简单的YUV422转jpg的例程
  6. LINUX安装QT的命令
  7. 顺序栈基本操作代码实现
  8. Keil MDK5 STM32F401CCU6开发环境配置
  9. 怎么自己制作返利机器人教程分享
  10. C#开发微信订阅号、服务号视频教程-翟东平-专题视频课程
  11. Mac Mounty挂载NTFS硬盘报错
  12. Idea 去掉 mapper.xml 文件的黄色、淡绿色警告
  13. 服务器打包文件工具,项目增量发版之全自动打包流程(patch-generator-desk打包软件)...
  14. 计算机操作系统-文件管理 知识点归纳
  15. 百万条数据插入mysql_mysql快速插入百万条数据
  16. 什么是RTOS系统定义分析
  17. 1,什么是JESD204
  18. English总结(一)-- 常用语句篇
  19. 那些年,用过的Linux网络工具
  20. c语言魔王语言上机报告,魔王语言报告(带有完整程序).doc

热门文章

  1. 用matlab如何拟合曲线,用MATLAB怎么实现曲线拟合?
  2. Spring+SpringMVC+Mybatis开发
  3. c语言sizeof用法计算char,C语言里sizeof(char)是什么意思
  4. 2011 信义聚会记实
  5. 计算机中丢失granny2,修复granny2.dll
  6. 三维地图之cesium轨迹回放(有代码)
  7. 基于Python的电影数据可视化分析系统 设计报告+答辩PPT+项目源码
  8. mac删除ssh key_好用的mac终端命令仿真工具
  9. APP 跳转微信小程序和回调
  10. SpringBoot整合模板FreeMarker篇