当前位置: 首页 > wzjs >正文

新增备案网站负责人网站备案 需要什么

新增备案网站负责人,网站备案 需要什么,wordpress怎么更改主题文字颜色,湖南州省郴州文章目录 Python实现下载监控工具:自动检测并移动下载文件背景介绍工具功能核心代码解析初始化配置监控启动方法文件检测方法文件移动方法 使用示例总结 Python实现下载监控工具:自动检测并移动下载文件 背景介绍 在日常开发和自动化任务中&#xff0c…

文章目录

  • Python实现下载监控工具:自动检测并移动下载文件
    • 背景介绍
    • 工具功能
    • 核心代码解析
      • 初始化配置
      • 监控启动方法
      • 文件检测方法
      • 文件移动方法
    • 使用示例
    • 总结

Python实现下载监控工具:自动检测并移动下载文件

背景介绍

在日常开发和自动化任务中,经常需要处理文件下载的场景。无论是网页自动化测试、爬虫抓取数据,还是自动备份文件,都需要一个可靠的方式来监控下载目录,并在文件下载完成后进行后续处理。本文介绍一个实用的Python下载监控工具类,能够自动检测新下载的文件并将其移动到指定位置。

工具功能

这个Downloader类提供以下核心功能:

  1. 监控下载目录:实时检测指定目录中新出现的文件
  2. 忽略临时文件:自动过滤浏览器下载过程中的临时文件(如.crdownload, .tmp)
  3. 文件移动与备份:将下载完成的文件移动到目标位置,支持备份或覆盖现有文件
  4. 超时控制:设置合理的等待时间,避免无限期阻塞

核心代码解析

初始化配置

class Downloader():def __init__(self, download_dir, time_out=60, poll_frequency=0.5, exist_del=True, ignore_suffix_list=None):# 下载目录self.download_dir = download_dirself.time_out = time_out  # 超时时间(秒)self.poll_frequency = poll_frequency  # 轮询间隔(秒)self.exist_del = exist_del  # 目标文件存在时是否删除# 忽略的临时文件后缀self.ignore_suffix_list = ignore_suffix_list or [".crdownload", ".tmp"]

监控启动方法

    def watch_start(self):"""记录下载前的文件状态"""path = Path(self.download_dir)files = set(path.glob("*"))self.path = pathself.origin_files = files

文件检测方法

    def get_download_file(self):"""检测新下载的文件"""start_time = perf_counter()while (perf_counter() - start_time <= self.time_out):now_files = set(self.path.glob("*"))# 计算新增文件diff_list = list(now_files.difference(self.origin_files))if not diff_list:sleep(self.poll_frequency)continue# 过滤临时文件final_diff_list = []for item in diff_list:if Path(item).suffix not in self.ignore_suffix_list:final_diff_list.append(item)# 处理有效文件if final_diff_list:if len(final_diff_list) > 1:raise Exception("暂不支持监控多个文件下载")return str(Path(final_diff_list[0]).resolve())return None

文件移动方法

    def download_file(self, file_path):"""移动下载的文件到指定位置"""download_file = self.get_download_file()if download_file is None:raise Exception("下载超时,未获取到文件")log.info(f"找到文件 {download_file}, 开始移动")target = Path(file_path)# 处理目标文件已存在的情况if target.exists():if self.exist_del:target.unlink()  # 删除现有文件else:# 创建带时间戳的备份文件suffix = target.suffixtimestamp = datetime.now().strftime("%Y%m%d%H%M%S")backup_path = target.with_name(f"{target.stem}_{timestamp}_bak{suffix}")shutil.move(file_path, backup_path)# 移动文件到目标位置shutil.move(download_file, file_path)

使用示例

if __name__ == "__main__":log.basicConfig(level=log.INFO)# 初始化下载监控器downloader = Downloader(download_dir=r"C:\Users\user\Downloads",  # 监控的下载目录time_out=120,           # 超时时间2分钟poll_frequency=0.2,     # 每0.2秒检查一次exist_del=False         # 目标文件存在时创建备份)# 开始监控downloader.watch_start()# 这里应该触发下载操作(例如:点击下载链接)# 示例:使用Selenium下载文件# driver.find_element(By.ID, "downloadButton").click()try:# 获取并移动下载的文件downloader.download_file(r"D:\project\data\report.xlsx")log.info("文件下载并移动成功!")except Exception as e:log.error(f"下载失败: {str(e)}")

总结

本文介绍的下载监控工具提供了一个简单而强大的解决方案,用于自动化处理文件下载任务。通过合理设置超时时间、轮询频率和临时文件过滤规则,可以适应各种下载场景。工具的核心思路是通过比较目录快照的变化来检测新文件,然后进行后续处理。

这个工具类具有以下优势:

  • 轻量级:不依赖外部库,标准库实现
  • 可配置:灵活的参数设置适应不同需求
  • 健壮性:完善的错误处理和超时机制
  • 易集成:可以轻松集成到现有自动化流程中

希望这个工具能为你的自动化任务带来便利!完整代码已在文章开头提供,欢迎直接使用和扩展。


文章转载自:

http://vxRPymNf.thhrf.cn
http://OiZD4zNl.thhrf.cn
http://1iXRkgFd.thhrf.cn
http://6VBFXAy5.thhrf.cn
http://GvIXOT4r.thhrf.cn
http://iIdjrxK1.thhrf.cn
http://VBxCmQUm.thhrf.cn
http://2LEvTAhS.thhrf.cn
http://XOoggthR.thhrf.cn
http://EcC9YwrV.thhrf.cn
http://xmDgL0sI.thhrf.cn
http://JrsJ7gll.thhrf.cn
http://1rlipjuN.thhrf.cn
http://YiM600eQ.thhrf.cn
http://JskKhiNj.thhrf.cn
http://zsmu7qZA.thhrf.cn
http://D2bGpTw0.thhrf.cn
http://qsCFEFfc.thhrf.cn
http://EYASiqmg.thhrf.cn
http://Ofg0zU77.thhrf.cn
http://o5RCZwdA.thhrf.cn
http://AK8geIPt.thhrf.cn
http://7GqvvhXc.thhrf.cn
http://MgELlSyf.thhrf.cn
http://WyUjfBdc.thhrf.cn
http://uvWWc9up.thhrf.cn
http://ZK6WVspL.thhrf.cn
http://80lEhuGW.thhrf.cn
http://4XiN9NZC.thhrf.cn
http://DVPEYhjp.thhrf.cn
http://www.dtcms.com/wzjs/768969.html

相关文章:

  • 中企动力网站jquery 网站后台模板 仿
  • asp手机网站源码找人做网站内容自己编辑吗
  • 网站建设公司专业用DW做的网站生成链接
  • 苏州哪个网站建设最好电子商务网站建设的答案
  • 周口网站设计做商品推广有那些网站
  • 想见你一个网站怎么做网页制作工具及用途
  • 济南住宅与房地产信息网官方网站制作系部网站首页
  • 今天开始做女神免费网站网站网站开发建设
  • 南浔区住房和城乡建设网站做神马网站快速排名
  • 个人网站制作申请文化建设的本质是什么
  • 中国建设门户网站如何进行网站网站调试
  • 武清网站建设做网站做app区别
  • 宁波易通宁波网站建设免费素材网站图库
  • 做网站一般都需要什么功能浏览器如何做购物网站
  • dw网站管理与建设网站投票链接怎么做的
  • 建设监督网站首页岳阳口碑好的装修公司
  • 网站开发怎么收客户费龙华区深圳北站
  • 私人建网站需要什么绿色家园网站怎么做
  • 做外贸用什么视频网站wordpress多重查询
  • 南京手机网站设计公司辽阳企业网站建设费用
  • 越烽建设集团有限公司网站外贸如何推广公司网站
  • 上海网站建设穹拓取公司名字
  • 如何申请做网站编辑呢制作公司宣传片哪家好
  • 专业定制网站需要什么技能wordpress 升级后 插件
  • 深圳专业做网站快看点媒体平台
  • 发布网站需要备案yanderedev.wordpress
  • 马蹄室内设计网站中铁建设集团有限公司基础设施事业部
  • 用Off做网站万维网注册域名后怎么导入网站
  • 网站建设中翻译做微网站需要域名吗
  • 比汉斯设计网站素材wordpress 外贸站