|
5鱼币
要求:提供一个文件夹浏览框,让用户选择需要打开的文本文件,打开并显示文件内容,当用户点击“OK”按钮的时候,比较当前文件是否修改过,如果修改过,则提示“覆盖保存”、”放弃保存”或“另存为…”并实现相应的功能。
我的问题:
1、我已经创立了f1的副本f2,可我什么都不做,还是‘检测到文本发生变化’
2、没有打开文本,修改文本的对话框
3、其他问题
import easygui as g
f1 = open(g.fileopenbox(default="c:*.txt"),'w+')
f2 = open('temp.txt','w+')
f3 = open('另存为.txt','w+')
while True:
info = f1.read()
if len(info) == 0:
break
else:
f2.write(info)
answer1 = '覆盖保存'
answer2 = '放弃保存'
answer3 = '另存为'
while f1.read != f2.read:
if answer1 == g.buttonbox(msg = '检测到文本发生变化',choices = ['覆盖保存','放弃保存','另存为']):
g.filesavebox(default = f1)
if answer2 == g.buttonbox(msg = '检测到文本发生变化',choices = ['覆盖保存','放弃保存','另存为']):
g.filesavebox(default = f2)
if answer3 == g.buttonbox(msg = '检测到文本发生变化',choices = ['覆盖保存','放弃保存','另存为']):
while True:
info = f1.read()
if len(info) == 0:
break
else:
f3.write(info)
g.filesavebox(default = f3)
f1.close()
f2.close()
f3.close()
本帖最后由 txxcat 于 2020-3-29 11:08 编辑
1、我已经创立了f1的副本f2,可我什么都不做,还是‘检测到文本发生变化’
你的f2虽然做了写入动作,但是没有关闭,就是close(),没有保存,实际上是个空文件,所以f2.read()后肯定不会等于f1.read()。
2、没有打开文本,修改文本的对话框
要使用textbox(),语法如下:
textbox(msg='', title=' ', text='', codebox=False, callback=None, run=True)
3、其他问题
什么问题?
|
最佳答案
查看完整内容
1、我已经创立了f1的副本f2,可我什么都不做,还是‘检测到文本发生变化’
你的f2虽然做了写入动作,但是没有关闭,就是close(),没有保存,实际上是个空文件,所以f2.read()后肯定不会等于f1.read()。
2、没有打开文本,修改文本的对话框
要使用textbox(),语法如下:
textbox(msg='', title=' ', text='', codebox=False, callback=None, run=True)
3、其他问题
什么问题?
|