python打开文件对话框_python实战演练:如何通过对话框打开文件并对文件进行对比...
python是目前最受欢迎的脚本语言之一,在很多简单功能实现中,python就有不可替代的优势,下面是针对本人遇到的一个小问题而写的一个python脚本,代码中含有注释,这里由于浏览器本身的格式原因,所以全部被左对齐了,自己使用的时候需要调整代码格式。其功能是按照自己的要求打开目录中的两个文件,对其进行对比,然后将对比后的结果保存在html文件中,其中不同的地方做特殊标志,其他地方保持不变!
import sys
import difflib
import win32ui
# 读取配置文件函数
def read_file(file_name):
try:
file_handle = open(file_name, 'r')
text = file_handle.read().splitlines() # 读取后以行进行分割
file_handle.close()
return text
except IOError as error:
print('Read file Error: {0}'.format(error))
sys.exit()
#打开并获取文件路径
def getcompFileName1(file1_name):
dlg = win32ui.CreateFileDialog(1) # 1表示打开文件对话框
dlg.SetOFNInitialDir('E:/') # 设置打开文件对话框中的初始显示目录
dlg.DoModal()
filename = dlg.GetPathName() # 获取选择的文件名称
file1_name = filename
print(file1_name)
return file1_name
def getcompFileName2(file2_name):
file2_name = filename
print(file2_name)
return file2_name
# 比较两个文件并输出html格式的结果
def compare_file(file1_name, file2_name):
if file1_name == "" or file2_name == "":
print('文件路径不能为空:file1_name的路径为:{0},file2_name的路径为:{1} .'.format(file1_name, file2_name))
text1_lines = read_file(file1_name)
text2_lines = read_file(file2_name)
diff = difflib.HtmlDiff() # 创建htmldiff 对象
result = diff.make_file(text1_lines, text2_lines) # 通过make_file 方法输出 html 格式的对比结果
# 将结果保存到比较结果.html文件中并打开
with open('比较结果.html', 'w') as result_file: #同 f = open('比对结果.html', 'w') 打开或创建一个比对结果.html文件
result_file.write(result) #同 f.write(result)
print ('写入html文件错误:{0}'.format(error))
if __name__ == "__main__":
file1_name = " "
file1 = getcompFileName1(file1_name)
print(file1)
file2_name = " "
file2 = getcompFileName2(file2_name)
print(file2)
compare_file(file1, file2) #传入两文件的路径
运行时过程简要如下:
比较后的输出结果示例如下:
运行结果示例,橙色部分为两个文件区别
以上内容便是本次共享的代码,希望对大家有所帮助!喜欢的话就请关注我鼓励一下并点个赞吧,祝各位生活愉快!
#四月图文MCN打榜赛#
#教育持久战#
python打开文件对话框_python实战演练:如何通过对话框打开文件并对文件进行对比...相关推荐
- python文件函数_Python closed()函数:关闭打开的文件
在文件使用完毕后,需要关闭文件以释放资源.关闭文件的方法是: 文件对象.close() 可以对一个已经关闭的文件再次执行 close() 操作,不必担心会产生异常. 在文件关闭后便不能对其进行读写操作 ...
- python获取键盘输入_Python 3 学习笔记之——键盘输入和读写文件
1. 键盘输入 Python提供了 input() 内置函数从标准输入读入一行文本,默认的标准输入是键盘.input 可以接收一个 Python 表达式作为输入,并将运算结果返回. str = inp ...
- python文件审计_Python代码审计实战案例总结之CRLF和任意文件读取
文章目录 介绍 CRLF和任意文件读取的审计实战 CRLF 审计实战 urllib CRLF漏洞(CVE-2019-9740和CVE-2019-9947) httplib CRLF 漏洞 任意文件读取 ...
- python批量下载网页文件夹_Python实现批量从不同的Linux服务器下载文件
基于Python实现批量从不同的Linux服务器下载文件 by:授客 实现功能 批量从不同的Linux服务器下载指定文件 测试环境 Win7 64位 Python 3.3.2 pscp 64位 下载地 ...
- python定位文件位置_python使用相对定位,绝对定位,选取同级别文件下的指定文件(csv,excel)...
最近使用python读取同级下的data数据文件,开始找了很多方法.下面我总结成二种方法: 1.xxx.py想要打开.data.csv,使用相对路径,有如下方法: 思路: xxx.py想要打开的是mp ...
- python excel处理模块_Python(00):openpyxl模块处理Excel文件
首先贴出四种方法适用范围比较: 注释:Excel 2003 即XLS文件有大小限制即65536行256列,所以不支持大文件.而Excel 2007以上即XLSX文件的限制则为1048576行163 ...
- python读取docx文件出错_Python:读取 .doc、.docx 两种 Word 文件简述及“Word 未能引发事件”错误...
Python 中可以读取 word 文件的库有 python-docx 和 pywin32. 优点 缺点 python-docx 跨平台 只能处理 .docx 格式,不能处理.doc格式 pywin3 ...
- python的excell库_Python中使用第三方库xlrd来写入Excel文件示例
继上一篇文章使用xlrd来读Excel之后,这一篇文章就来介绍下,如何来写Excel,写Excel我们需要使用第三方库xlwt,和xlrd一样,xlrd表示read xls,xlwt表示write x ...
- python接管已经打开的浏览器_Python Webdriver 从新使用已经打开的浏览器实例
由于Webdriver每次实例化都会新开一个全新的浏览器会话,在有些状况下须要复用以前打开未关闭的会话.好比爬虫,但愿结束脚本时,让浏览器处于空闲状态.当脚本从新运行时,它将继续使用这个会话工做.还就 ...
最新文章
- golang连接postgresql too many client_MySQL和PostgreSQL压测性能对比
- Keras【Deep Learning With Python】实现线性回归模型
- golang中的goredis
- 使用Java生成二维码图片(亲测)
- scrapy的Middleware
- canvas的getImageData和putImageDataAPI
- Java volatile关键字详解
- 计算机视觉(CV)中图像的梯度
- 2021认证杯第二阶段数学建模思路论文交流群:984771555
- 修复Joe主题静态资源为国内地址
- UE4中文汉字字体制作
- matlab 取虚数单位,四元数解算姿态Matlab程序代码
- 2022-2027年中国精华素行业市场深度分析及投资战略规划报告
- 专访微软梁念坚:任职两年给自己打70分
- vector注意事项,vector subscript out of range
- 共轭相似以及共轭对角化
- 专升本英语——应试题型突破——翻译——名言警句【学习笔记】
- 计算机通信中应用的调制解调与无线电通信,计算机通讯中的一对搭档——调制解调器和通讯软件...
- OVAL学习之第二篇
- js 中文转拼音缩写