我正在尝试运行以下代码:
import xlrd
import os.path
import xlsxwriter
with open("arrays.xlsx", "a") as my_file:
workbook = xlsxwriter.Workbook(my_file)
worksheet = workbook.add_worksheet()
array = [1, 2, 3, 4, 5]
row = 0
for col, data in enumerate(array):
worksheet.write_column(row, 0, array)
workbook.close()
但是当我运行它时,出现以下错误:
Traceback (most recent call last):
File "C:\Users\hp\Anaconda3\lib\zipfile.py", line 1649, in __del__
self.close()
File "C:\Users\hp\Anaconda3\lib\zipfile.py", line 1666, in close
self.fp.seek(self.start_dir)
ValueError: I/O operation on closed file.
与with
您实际上不需要关闭文件。
该
with
语句用于使用上下文管理器定义的方法来包装块的执行(请参阅“使用语句上下文管理器”一节)。这允许将常用try...except...finally
用法模式封装起来,以方便重用。
隐藏在此处的隐式finally块将为您关闭文件。只需删除您的明确关闭,您就可以了。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句