#python #copy
#python #Копировать
Вопрос:
Я хотел бы знать, копируется ли файл или нет?
Вот ситуация: представьте себе код python abc.py проверяет, есть ли какие-либо файлы в каталоге FRWD каждые 10 секунд. Если есть какие-либо файлы, он перемещает эти файлы в другое место. Когда кто-то перемещает файлы большего размера, такие как 1G, 2G или 10G, abc.py проверяет наличие файлов в каталоге FRWD (во время их копирования) и пытается переместить файлы и выдает ошибки, поскольку копирование все еще выполняется..
Кто-нибудь знает какое-нибудь элегантное решение для этого вместо использования «Попробуйте и нажмите»настраиваемая пауза в секундах»? На данный момент я делаю паузу на 60 секунд перед перемещением каждого файла (если есть набор файлов)
Спасибо и будьте в безопасности
Сайра
Комментарии:
1. Проверьте сторожевой таймер: pypi.org/project/watchdog
2. Вы контролируете процесс, который создает файлы в каталоге FRWD?
3. Пожалуйста, отправьте код, который вы написали до сих пор. У вас может быть
set
скопированный файл. Добавьте имя файла в набор, прежде чем начать копирование файла, и послеshutil.copy2
возврата удалите его. Проверьте набор, чтобы убедиться, что файла, который вы собираетесь скопировать, там нет.4. Перемещение в файловой системе должно быть мгновенным — это просто перелинковка файла в структуре каталогов. Вы можете создать временный каталог в файловой системе FRWD и переместить туда файлы. Теперь это промежуточная область для реального перемещения, которое потенциально может занять много времени.
5. @JohnGordon Нет .. У меня нет контроля над каталогом FRWD … этот каталог находится в общей папке, куда любой в любое время может удалить файлы, а мой скрипт, который является частью testbed, берет файлы и запускает некоторый набор тестов.