Python Glossary English

Python 3.4+Исключенияисключение

shutil.SameFileError

модульные исключения

Источник и приёмник copy() — один и тот же файл (подкласс shutil.Error).

Синтаксис

raise shutil.SameFileError

Совпадение проверяется по устройству и inode, а не по строке пути: симлинк, жёсткая ссылка или './data.txt' против абсолютного пути — это один и тот же файл. Ошибка спасает данные: без неё copyfile открыл бы приёмник на запись и обнулил исходник. Частый способ на неё наткнуться — copy(файл, каталог), когда файл уже лежит в этом каталоге: приёмник достраивается до каталог/имя и совпадает с источником.

Примеры

import shutil
try:
    raise shutil.SameFileError
except shutil.SameFileError as e:
    print(type(e).__name__)   # → SameFileError

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности