我正在使用chromedriver下载文件。它创造了一个'crcdownload'文件,然后将其转换为文件。
我使用以下代码在ruby中执行了此操作。但不确定如何在Python中创建wait_for_download
等效项。另一个要求是,如果下载时间超过30秒,或者crcdownload在该时间段内没有消失,则应该退出。
def wait_for_download
Timeout.timeout(TIMEOUT) do
sleep 0.1 until downloaded?
end
end
def downloading?
downloads.grep(/\.crdownload$/).any?
end
def downloaded?
!downloading? && downloads.any?
end
哪种python模块最适合这种情况?监视某个目录,然后在某个事件发生超时时更新,以便它不会无限期地阻塞?
答案 0 :(得分:3)
你的睡眠方式有效,尽管有更好的方法可以提高效率。
更好的方法是使用文件系统监控功能:
Ruby和Python都有跨平台工作的工具,并使用本机文件系统的监控和通知,并且是非阻塞的。