如何在打开文件时捕获pywin32com异常

| 我正在尝试使用COM在python中打开excel文件,并尝试捕获未找到的文件错误: 我首先尝试捕获IOError:
try:
   output = xl.Workbooks.Open(Params.workbookName)
except IOError as reason:
   print reason
   exit()
但是,当COM出现文件未找到问题时,它不会引发IO错误,而是会引发一个称为com_error的错误:   com_error:(-2147352567,\'Exception   \',(0,u \'Microsoft Office   Excel \',u \“ \'asdf.xlsx \'不能为   找到了。检查文件的拼写   名称,并验证文件   位置正确。\\ n \\ n如果您是   尝试从列表中打开文件   最近使用的文件,请确保   该文件尚未重命名,   移动或删除。\“,u \'C:\\ Program   文件(x86)\\ Microsoft   Office \\ Office12 \\ 1033 \\ XLMAIN11.CHM \',   0,-2146827284),无) 所以我在逻辑上尝试了这个:
try:
   output = xl.Workbooks.Open(Params.workbookName)
except com_error as reason:
   print reason
   exit()
但...
NameError: global name \'ComError\' is not defined
    
已邀请:
        尝试:
from pythoncom import com_error
抓到你的
except
块     

要回复问题请先登录注册