1.我先运行定义的make_gridRx,进行函数封装,代码末加了f.close(),运行没问题。
2.而后再对其进行层数的另一函数封装,运行代码也没问题。
3.最后运行函数的时候,却报错了,说f.close()缩进错误!报错如图
4.但是,我把第一步(第一张图)里面的f.close()删除了,便没有报错,正常运行,但是写文件是不是又不能把f.close()删除?新人一枚,请教各位。谢谢!!!!
首先那个报错不是缩进错误,而是对已关闭文件的输出输入错误。代码中在循环中调用已打开文件进行写入,但是该文件已经关闭,文件句柄已经不存在。建议用with open语句打开和操作文件。
你最后图的报错,是你在操作一个已经关闭的文件,不是缩进问题
你这个错误是已经f.close()关闭了的文件对象,又企图用f.write()写入
你f文件对象是在哪创建的?
如果是在函数外创建的就不应该在函数内用f.close()关闭。
另外。最好是用with 创建文件对象,就不需要考虑关闭的问题了。