Python中关于引用函数中是否删除f.close()的问题

1.我先运行定义的make_gridRx,进行函数封装,代码末加了f.close(),运行没问题。
img

2.而后再对其进行层数的另一函数封装,运行代码也没问题。
img

3.最后运行函数的时候,却报错了,说f.close()缩进错误!报错如图
img

4.但是,我把第一步(第一张图)里面的f.close()删除了,便没有报错,正常运行,但是写文件是不是又不能把f.close()删除?新人一枚,请教各位。谢谢!!!!

首先那个报错不是缩进错误,而是对已关闭文件的输出输入错误。代码中在循环中调用已打开文件进行写入,但是该文件已经关闭,文件句柄已经不存在。建议用with open语句打开和操作文件。

你最后图的报错,是你在操作一个已经关闭的文件,不是缩进问题

你这个错误是已经f.close()关闭了的文件对象,又企图用f.write()写入
你f文件对象是在哪创建的?
如果是在函数外创建的就不应该在函数内用f.close()关闭。

另外。最好是用with 创建文件对象,就不需要考虑关闭的问题了。