Проверяет ли shutil.copy? - PullRequest
0 голосов
/ 05 мая 2020

Команда shutil.copy в Python имеет возвращаемое значение: она «возвращает путь к вновь созданному файлу». Означает ли это, что скопированный файл прошел проверку? Привет, Строк

1 Ответ

0 голосов
/ 05 мая 2020

shutil.copy не проверяет копию. Он генерирует имя файла, открывает источник и место назначения, копирует данные и закрывает файл. Он не проверяет имя файла после записи - и не должен. Совершенно законно для некоторых лиц переместить открытый файл, не затрагивая существующих читателей и писателей.

Он закрывает файл, который сбрасывает данные в кэш файловой системы операционной системы, но не проверяет, был ли файл записан на диск. Сбой питания приведет к потере данных.

Также не выполняется повторное считывание данных, чтобы убедиться, что были записаны правильные байты. Место назначения не открывается эксклюзивно, поэтому технически возможно, чтобы какой-то другой процесс открыл и записал тот же файл. Конечно, это маловероятная возможность. Как правило, обеспечение записи правильных битов - это работа операционной системы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...