Вопрос

Если мы посмотрим на функцию копирования файла, мы увидим, что есть несколько исключений для обработки. Хороший пример здесь: http://msdn.microsoft.com/en-us/library/9706cfs5.aspx

У меня вопрос, если я использую Python Shutil Copy2, что я должен обратить внимание на то, чтобы справиться с различными исключениями (исходный файл не найден, доступ не разрешен и т. Д.)?

например

def copy_file (self):   
    if not os.path.isdir(dest_path):
        os.makedirs(dest_path)
    shutil.copy2(src_path, dest_path)

Что я должен сделать с вышеупомянутой функцией?

Это было полезно?

Решение

Вам может просто обратиться IOError Исключение, которое может быть вызвано из -за любых разрешений или неверного имени назначения.

try:
    shutil.copy(src,dst)
except IOError as e:
    print e

Другие исключения, упомянутые в статье MSDN, по -видимому, подпадают под тот же IOerror в Python. FilenotFound и DirectoryNotFound на самом деле не применимы, так как Shutil.Copy создаст пункт назначения, если оно еще не существует. Кроме того, я нахожу, что происходит Осеррор также удаленные в случае.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top