鱼C论坛

 找回密码
 立即注册
查看: 2056|回复: 1

[已解决]关于用str()去将列表强制转换为字符串这件事

[复制链接]
发表于 2020-11-18 11:29:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
小甲鱼第35讲,第三题:https://fishc.com.cn/forum.php?m ... peid%26typeid%3D398
import 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去判断文件是否修改过?
最佳答案
2020-11-18 11:46:54
本帖最后由 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('内容不一致')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-18 11:46:54 | 显示全部楼层    本楼为最佳答案   
本帖最后由 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('内容不一致')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-17 14:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表