|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
import easygui as g
import os
file_path = g.fileopenbox(default = '*.txt')
with open(file_path) as old_file:
title = os.path.basename(file_path)
msg = '文件【%s】的内容如下:' % title
text = old_file.read()
text_after = g.textbox(msg,title,text)
if text != text_after[:-1]: #[:-1] 是截取字符串从开头到倒数一个字符的子串,作为下一次的输入
# textbox 的返回值会追加一个换行符
choice = g.buttonbox('检测到文件内容发生改变,请选择以下操作:','警告',('覆盖保存','放弃保存','另存为……'))
if choice == '覆盖保存':
with open(file_path,'w') as old_file:
old_file.write(text_after[:-1])#[:-1] 是截取字符串从开头到倒数一个字符的子串,作为下一次的输入
if choice == '放弃保存':
pass
if choice == '另存为……':
another_path = g.filesavebox(default='.txt')
#分离文件名与扩展名,返回(f_name, f_extension)元组,[1]可以指到f_extension
if os.path.splitext(another_path)[1] !='.txt':
another_path +='.txt'
with open(another_path,'w') as new_file:
new_file.write(text_after[:-1])
我已经将if text != text_after[:-1]: #[:-1] 是截取字符串从开头到倒数一个字符的子串,作为下一次的输入 处理了textbox 的返回值会追加一个换行符,但是为什么打开一个文件以后,没有做改变却提示说,文件已经改变?请大家帮我分析分析,谢谢~ |
|