马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
小甲鱼第35讲,第三题:https://fishc.com.cn/forum.php?m ... peid%26typeid%3D398import easygui as es
import os
text = es.fileopenbox('请选择一个文件。','打开')
file = open(text,'r+')
file_name = os.path.split(text)
file_list = list(file)
msg = '文件【'+str(file_name[1])+'】的内容如下:'
file_list1 = es.textbox(msg,'显示文件内容',file_list)
file_list = str(file_list)#在这里用str()强制转换变成字符串时,它会再字符串中添加\去转义列表中的元素
if file_list1 != file_list:
choose = es.buttonbox('检测到内容发生改变,请选择以下操作:','警告',['覆盖保存','放弃保存','另存为...'])
if choose == '覆盖保存':
file.close()
file1 = open(text, 'w+')
file1.write(file_list1)
file1.close()
elif choose == '放弃保存':
file.close()
elif choose == '另存为...':
catalog = es.filesavebox('请保存!','另存为')
file.close()
file1 = open(catalog, 'w+')
file1.write(file_list1)
file1.close()
else:
file.close()
我获取文件内容都是通过list()去获取的,而easygui.textbox()返回的是字符串,请问应该怎么对比list与str去判断文件是否修改过?
本帖最后由 jackz007 于 2020-11-18 11:51 编辑 f1 = open('spring.txt')
str1 = f1 . read() # 注意这一句
f1 . close()
f2 = open('spring.txt')
str2 = '' . join(list(f2)) # 注意这一句
f2 . close()
if str1 == str2:
print('内容一致')
else:
print('内容不一致')
|