影刀RPA进阶教程_文件系统操作完全指南目录监听批量重命名与文件归档

影刀RPA进阶教程_文件系统操作完全指南目录监听批量重命名与文件归档 影刀RPA进阶教程文件系统操作完全指南——目录监听批量重命名与文件归档影刀RPA处理文件的需求远比想象的多。下载的订单文件要监控、散落的日报要等到了才处理、历史文件要定期归档。内置的文件分类指令能覆盖基本读写但高级操作目录监听、批量重命名需要Python配合。场景一目录监听——等文件到了才执行运营人员从平台下载订单报表导出到你电脑的共享文件夹你需要这个文件一落地就自动开始处理。拼多多店群自动化上架方案importosimporttime watch_dirrC:\共享文件夹\待处理订单processed_dirrC:\共享文件夹\已处理defwait_for_new_file(watch_dir,timeout3600):监听目录等新文件出现# 记录当前已有文件existingset(os.listdir(watch_dir))start_timetime.time()whiletime.time()-start_timetimeout:currentset(os.listdir(watch_dir))new_filescurrent-existing excel_files[fforfinnew_filesiff.endswith((.xlsx,.csv))]ifexcel_files:# 等文件完全写入二次确认大小不再变化forfinexcel_files:file_pathos.path.join(watch_dir,f)size1os.path.getsize(file_path)time.sleep(2)size2os.path.getsize(file_path)ifsize1size2andsize10:returnfile_path# 文件到手time.sleep(5)# 每5秒检查一次returnNone# 超时# 在影刀中调用file_pathwait_for_new_file(watch_dir)iffile_path:# 处理文件...# 处理后移到已处理目录os.rename(file_path,os.path.join(processed_dir,os.path.basename(file_path)))为什么做二次确认文件刚出现时可能还在写入中特别是大文件等2秒再检查大小确认已经写完了再开始处理。场景二批量重命名采集系统生成的CSV文件名是采集数据_20260610.csv上传到系统需要改成日销量_2026-06-10_拼多多.csv。importosimportre folderrC:\数据\待重命名forfilenameinos.listdir(folder):# 匹配原始文件名格式matchre.match(r采集数据_(\d{4})(\d{2})(\d{2})\.csv,filename)ifmatch:![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/7625d3b3558342748840721b6023075a.png#pic_center)year,month,daymatch.groups()new_namef日销量_{year}-{month}-{day}_拼多多.csvold_pathos.path.join(folder,filename)new_pathos.path.join(folder,new_name)os.rename(old_path,new_path)print(f{filename}→{new_name})批量前缀/后缀添加# 给所有文件加前缀forfilenameinos.listdir(folder):iffilename.endswith(.xlsx):new_namef20260610_{filename}os.rename(os.path.join(folder,filename),os.path.join(folder,new_name))场景三文件归档与清理每天采集的数据堆积需要定期按日期归档过期文件自动删除。TEMU店群如何管理运营importosimportshutilfromdatetimeimportdatetime,timedelta data_dirrC:\数据\日报archive_dirrC:\数据\归档# 1. 按创建日期归档到子文件夹forfilenameinos.listdir(data_dir):file_pathos.path.join(data_dir,filename)ifnotos.path.isfile(file_path):continue# 获取文件创建时间create_timedatetime.fromtimestamp(os.path.getctime(file_path))date_foldercreate_time.strftime(%Y-%m)# 创建归档目录target_folderos.path.join(archive_dir,date_folder)os.makedirs(target_folder,exist_okTrue)# 移动文件shutil.move(file_path,os.path.join(target_folder,filename))# 2. 删除30天前的归档cutoff_datedatetime.now()-timedelta(days30)forroot,dirs,filesinos.walk(archive_dir):forfilenameinfiles:file_pathos.path.join(root,filename)modify_timedatetime.fromtimestamp(os.path.getmtime(file_path))ifmodify_timecutoff_date:os.remove(file_path)print(f已删除过期文件:{file_path})场景四CSV与Excel批量互转importpandasaspdimportos folderrC:\数据\csv文件# CSV → Excelforfilenameinos.listdir(folder):iffilename.endswith(.csv):csv_pathos.path.join(folder,filename)xlsx_pathcsv_path.replace(.csv,.xlsx)dfpd.read_csv(csv_path,encodingutf-8-sig)df.to_excel(xlsx_path,indexFalse)print(f转换完成:{filename})# Excel → CSVforfilenameinos.listdir(folder):iffilename.endswith(.xlsx)andnotfilename.startswith(~):xlsx_pathos.path.join(folder,filename)csv_pathxlsx_path.replace(.xlsx,.csv)dfpd.read_excel(xlsx_path)df.to_csv(csv_path,indexFalse,encodingutf-8-sig)文件操作的安全守则备份后再操作批量重命名、删除、归档等操作先shutil.copytree备份整个目录操作后验证重命名完检查新文件是否存在、删除完确认文件已被移除加try-catch文件操作是最容易出权限问题和占用问题的不要硬编码C盘路径C:\数据这种路径换电脑就崩从配置表读取跳过临时文件~$开头的是Office临时文件任何批量操作都要跳过#影刀RPA #RPA自动化 #文件操作 #批量处理 #系统管理作者林焱本文为《影刀RPA学习手册》系列文章之一内容源于实操经验的整理与分享。