Я хочу скопировать список файлов в windows с помощью python. При выполнении этого вручную я вижу тайм-ауты в некоторых файлах, поэтому процесс копирования завершается с ошибкой. Мне нужен способ реализовать проверку тайм-аута в python.Использовать тайм-аут в windows filecopy
До сих пор я использую win32 API:
import win32file
files = {'source_a' : 'dest_a', 'source_b' : 'dest_b'}
for f in files.keys():
win32file.CopyFileW(f,files[f],0)
В некоторых случаях функция CopyFileW
не возвращается в «разумный срок», ради этого обсуждения, скажем, 5 секунд. Как перенести эту функцию на таймер?
Редактировать: Как я уже говорил, я переключился на использование функции CopyFileEx
, потому что у нее есть интерфейс отмены. Если я поставлю проверку тайм-аута в функции обратного вызова, процесс копирования будет остановлен до тех пор, пока выполняется обратный вызов. Насколько я понимаю, вызовы функции обратного вызова выдаются только тогда, когда есть некоторая операция копирования файлов. Если НЕ ПРОДОЛЖАЕТСЯ более долгое время, я этого не вижу.
Более точную формулировку оставшихся вопросов, а также очень краткий ответ можно найти здесь: http://stackoverflow.com/questions/42203579/cancel-a-stalled-file-copy-in-python-on -windows – Dschoni