就知道文件不是什么好东西,太悲催了,文件第三发!
小鱼老师35课,第3题打开文件,看是否有更改:import easygui as g
import os
g.msgbox('请选择需要处理的文件','文件')
fname=g.fileopenbox('请选择你需要打开的文件')
msg=('文件名%s的内容为:' % os.path.basename(fname))
with open(fname,'r+') as f:
update=g.textbox(msg,'显示文件内容',text=f.read())[:-1]
if update!=f.read():
choice=g.buttonbox('检测到文件内容发生改变,请选择以下操作','警告',choices=('覆盖保存','放弃保存','另存为...'))
if choice=='覆盖保存':
f.seek(0,0)
f.truncate()
f.write(update)
elif choice=='另存为...':
nfname=g.filesavebox('请选择你需要另存的文件')
with open(nfname,'w') as fn:
fn.write(update)
update=g.textbox(msg,'显示文件内容',text=f.read())[:-1],小鱼老师说返回值多一个换行符,可是我看了没有多啊。。。但是非常奇葩的是,是不是[:-1]这个东东update!=f.read()永远不相等,到底怎么回事。。。
请大大们一定要出手相助啊。。。论坛坏了,大大们都跑了。。。 就你指出的这里确实没有多。
不过原题我没看,不知道原题指的是什么。 ba21 发表于 2018-7-18 16:03
就你指出的这里确实没有多。
不过原题我没看,不知道原题指的是什么。
f1=open('D:\\Program Files\\record.txt')
f2=open('D:\\Program Files\\newrecord.txt')
f1.read()==f2.read()
Out: True
两个文件读出来的也一样,为什么那条判断是不一样的呢?还有天理吗? cable 发表于 2018-7-18 16:07
f1=open('D:\\Program Files\\record.txt')
f2=open('D:\\Program Files\\newrecord.txt')
为啥不一样呢?
不都是True么 无符号整形 发表于 2018-7-23 07:54
为啥不一样呢?
不都是True么
这题我已经知道怎么回事了,是 if update!=f.read()这句话的问题,因为指针会动,所以要先把读的内容赋出来,再比较就对了。
页:
[1]