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Сообщить о неточности