相关文章推荐
坚强的山楂  ·  SQL Server 2008 ...·  8 月前    · 
非常酷的双杠  ·  android - Is ...·  1 年前    · 
买醉的野马  ·  .net - How to use ...·  1 年前    · 

报错: ValueError: I/O operation on closed file

  • ValueError: I/O operation on closed file。是指处理了已经被关闭的数据。一般是语句没有对齐。当python的处理代码不对齐的时候会出现这种情况。
  • 使用with方法打开了文件,生成的文件操作实例在with语句之外是无效的,因为with语句之外文件已经关闭了。
  • 报错部分代码:

    class Maoyan(object):
        def run(self):
            response = self.get_data()
            datas = self.parse_data(response)
            self.save_data(datas)
    if __name__ == '__main__':
        with open('猫眼.csv', 'a', newline='', encoding="utf8") as f:
            csv_writer = csv.writer(f)
            csv_writer.writerow(head)
        maoyan = Maoyan()
        maoyan.run()

    检查了很多遍,因为已经确认了是缩进的问题,最后才发现最后两行代码也要缩进,因为调用的保存也要在with语句块里能有效。

    在这里插入图片描述
    改成图片里这样就可以运行了!