Python:尝试/除了OSerror errno 2

时间:2015-09-12 06:56:16

标签: python errno eoserror

我正在编写一个脚本,用户选择一个目录并点击确定。

我很容易怀疑,但我试图对错误处理方面进行排序,但它不打算进行计划。

基本上,我想继续脚本,除非调用OSError Errno 2。

此刻,我有:     import IOError     ...     ...

if ok==1:
  try:
    folder = selection
    myFunction(folder)
  except IOError:
    print "Select a folder, not a file"

我尝试过使用除了没有 IOError ,但这会导致脚本中的其他地方出现问题(完全不同的功能)

有人有建议吗?

由于

3 个答案:

答案 0 :(得分:1)

我不知道你的意思是OSError Errno 2,但是你希望你能在if中处理什么错误而忽略所有其他pass语句

try:
    folder = selection
    myFunction(folder)
except Exception as e:
    if "I/O operation failed" in e.__doc__:
        print "bingo"
    else:
        pass

答案 1 :(得分:0)

使用os.path.isdir(folder)

Python - isdir

答案 2 :(得分:0)

另一种更明确的方式是:

try:
    os.remove(filepath)
except OSError, e:
    print e

但是,根据调用Exception的频率,此方法可能会影响速度。