为什么最后这个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呀')来避免冲突

祝学习愉快~
相似问题