尝试使用 save() 保存已编辑的工作簿时出现“OSError: [Errno 22]

我的 .xls 文件与 .py 文件位于同一目录中。尽管如果我不覆盖现有文件,它工作得很好。


import xlrd, xlwt

from xlutils.copy import copy


rb2=xlrd.open_workbook("TEST_info.xls",on_demand=True)


wb2=copy(rb2)

ws2=wb2.get_sheet(0)

ws2.write(0,1,'DIFFERENt value')

wb2.save("TEST_info.xls")

文件“C:\Python_User\Excel_spreadsheet_proj\excel_proj_env\Scripts\main.py”,第 9 行,在 wb2.save(“TEST_info.xls”) 文件“C:\Python_User\Excel_spreadsheet_proj\excel_proj_env\lib\site-packages\xlwt \Workbook.py”,第 710 行,保存 doc.save(filename_or_stream, self.get_biff_data()) 文件“C:\Python_User\Excel_spreadsheet_proj\excel_proj_env\lib\site-packages\xlwt\CompoundDoc.py”,第 262 行,在 save f = open(file_name_or_filelike_obj, 'w+b') OSError: [Errno 22] 无效参数: 'TEST_info.xls'


慕码人2483693
浏览 121回答 2
2回答

喵喔喔

根据https://xlrd.readthedocs.io/en/latest/on_demand.html上的文档:on_demand=Trueand BIFF version >= 5.0:open_workbook()加载全局数据并返回,不释放资源。您应该设置on_demand=True为False释放rb2底层资源,或者rb2.release_resources()在尝试保存副本之前调用。

明月笑刀无情

我最终导入“os”并编写:if(os.path.exists(file)):     os.remove(file) wb.save(file)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python