为什么最后这个f.close()会触发编辑器报错
来源:1-1 文件的创建与写入(上)
weixin_慕慕0271488
2024-02-02 11:44:44
import os current_path=os.getcwd() f=open(current_path+'/'+'a.txt','w') #创建文件(路径,模式) f1=open(f'{current_path}/b.txt','w')#创建文件(路径,模式 f.write('hello world')#在a文件中写入 f1.write('hiya Im f1')#在b文件中写入 f.close() f1.close() #这个时候,f,f1就关闭了,就无法操作,要操作的话要重新OPEN path=os.path.join(current_path,'a.txt') f=open(path,'w') f=f.write('你好呀')#将原来的hello world覆盖了 f=open(path,'w+') f=f.write('ok呀')#将你好呀给覆盖了 f.close()#这个地方编辑器提示错误
1回答
好帮手慕小猿
2024-02-02
同学,你好! 因为f=f.write('ok呀')代码中的f 变量覆盖了f=open(path,'w+')中的f 变量。覆盖后f 的值是整数,不再是打开文件的f 变量了,所以报错
同学可将f.write('ok呀')返回值赋值给其它变量,如result,即:result=f.write('ok呀')来避免冲突
祝学习愉快~
相似问题