【问题标题】:Python: try/except OSerror errno 2Python:尝试/排除 OSerror errno 2
【发布时间】:2015-09-12 06:56:15
【问题描述】:

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

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

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

目前,我有: 导入 IOError ... ...

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

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

有人有什么建议吗?

谢谢

【问题讨论】:

  • 你尝试过除了OSError吗?

标签: python errno eoserror


【解决方案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

【讨论】:

  • 谢谢,伙计们。非常感谢
【解决方案2】:

使用os.path.isdir(folder)

Python - isdir

【讨论】:

    【解决方案3】:

    另一种更明确的方式是:

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

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

    【讨论】:

      猜你喜欢
      • 2010-10-28
      • 1970-01-01
      • 1970-01-01
      • 2017-06-26
      • 2019-03-25
      • 1970-01-01
      • 1970-01-01
      • 2018-05-29
      • 2018-08-09
      相关资源
      最近更新 更多