首页 > 解决方案 > 如果打开后发现错误,如何避免打开工作簿?

问题描述

我有一段代码通过xlwings包打开工作簿并从中读取一些内容。完成后,工作簿将关闭。有时,开始和结束语句之间会出现错误。这使工作簿保持打开状态。当我尝试再次运行代码时,无法打开该文件,因为它已经“打开”。

我该如何处理?

此外,发生这种情况时,我什至无法手动打开工作簿。

w1=app.books.open("WorkbookName.xlsx")
# Do stuff that can potentially give errors.
w1.close()

我希望创建一些错误处理,以便如果在此过程中发现异常,工作簿会在此之后关闭。

标签: pythonimport-from-excelxlwings

解决方案


使用try-finally构造:

w1=app.books.open("WorkbookName.xlsx")
try:
    # Do stuff that can potentially give errors.
finally:
    w1.close()

finally始终执行子句。如果try子句中的代码引发未处理的异常,则 python 解释器将跳转到finally子句并执行它(并且仅在之后终止自身)。


推荐阅读