Python: попробуйте / кроме 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, но это вызывает проблемы в других местах скрипта (в другой функции полностью)

У кого-нибудь есть предложения?

Спасибо

3 ответа

Решение

Использование os.path.isdir(folder)

Python - isdir

Я не знаю, что вы имеете в виду под 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

Другой способ и более явный:

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

Однако, в зависимости от частоты, называемой Исключением, этот метод может влиять на скорость.

Другие вопросы по тегам