Эффективное использование Python Shutil Copy2
-
12-10-2019 - |
Вопрос
Если мы посмотрим на функцию копирования файла, мы увидим, что есть несколько исключений для обработки. Хороший пример здесь: 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 создаст пункт назначения, если оно еще не существует. Кроме того, я нахожу, что происходит Осеррор также удаленные в случае.