Python: try/except OSerror errno 2

Python: try/except OSerror errno 2

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

我很容易猜到这一点,但我正在尝试对错误处理方面进行排序,但它不会计划。

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

此刻,我有: 导入 IOError ... ...

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

我试过在没有 IOError 的情况下使用 except,但这会导致脚本中其他地方出现问题(完全在不同的函数中)

有人有建议吗?

谢谢

我不知道你所说的 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

使用os.path.isdir(folder)

Python - isdir

另一种更明确的方式是:

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

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