处理Python IOError

时间:2014-09-30 19:14:20

标签: python

我的程序使用python写入文件。一切顺利,除非我已经运行文件并保持文件打开,抛出IOError:[Errno 13]权限被拒绝:'pathname'。

我想知道退出该程序的最佳方法,并启动一个消息框向用户解释该问题,指示关闭以前的文件以进行覆盖。

def myFunction(self):
    with open(self.pathString, 'wb') as ofile:
    writer = csv.writer(ofile, quoting=csv.QUOTE_NONE, delimiter='\t')
    ...
    if IOError:
        QMessageBox.information(None, 'Information', 'A message')
        return

1 个答案:

答案 0 :(得分:1)

很容易:

try:
  result = do_here_what_can_cause_IOError
except IOError as e:
  log.error('Error when trying to perform do_here_what_can_cause_IOError: %s', e)
else:
  use_the_result_here

总之,要捕获Python抛出的任何异常,请使用try / except / else / finally

文档here