#在35-3的基础上进行优化,当用户点击ok按钮的时候,对打开的文件进行检查是否修改。
# 如果修改过,则提示覆盖保存、放弃保存、另存为并实现相应的功能
1 import easygui as g 2 import os 3 msg='浏览文件并打开' 4 title='测试' 5 default='D:\Python练习\*' 6 fileType='全部文件' 7 filePath=g.fileopenbox(msg,title,default,fileType) 8 9 with open(filePath) as f: 10 title=os.path.basename(filePath) 11 msg='文件%s的内容如下:'%title 12 txt=f.read() 13 txt_new=g.textbox(title,msg,txt) 14 15 if txt != txt_new[:-1]: 16 #检查文件是否修改,因为easygui,txtbox会在返回字符串后面追加一个行结束符("\n"),因此在比较稳健师傅改变时,需要我们人工忽略这个行结束符 17 msg1='选择您的操作:' 18 title='检测到文件被修改,请选择是否保存:' 19 buttons=['覆盖保存','放弃保存','另存为'] 20 choice=g.buttonbox(title,msg,buttons) 21 #覆盖保存 22 if choice =='覆盖保存': 23 with open(filePath,'w') as f2: 24 f2.write(txt_new) 25 #放弃保存 26 if choice == '放弃保存': 27 pass 28 #另存为。。。 29 if choice == '另存为': 30 new_path=g.filesavebox(default='txt') 31 with open(new_path,'w') as f3: 32 f3.write(txt_new)