如何用Python实现文件压缩后按顺序逐一删除?
解决方案
直接把需要处理的文件名存入列表/数组,通过循环逐个执行「压缩→删除」操作,完全不用写多个if语句,新增文件只需要往列表里加条目就行,扩展性拉满:
Python 实现示例
import zipfile import os # 要处理的文件都放这里,新增文件直接追加 target_files = ["file1.txt", "data.csv", "report.pdf"] for file in target_files: # 压缩单个文件 zip_name = f"{file}.zip" with zipfile.ZipFile(zip_name, 'w', zipfile.ZIP_DEFLATED) as zip_obj: zip_obj.write(file) # 压缩完成后删除原文件 os.remove(file)
Shell 脚本(Bash)实现示例
# 目标文件列表,新增文件直接加在括号里 target_files=("file1.txt" "data.csv" "report.pdf") for file in "${target_files[@]}"; do # 压缩单个文件 zip "${file}.zip" "$file" # 仅当压缩成功时删除原文件(避免压缩失败误删) if [ $? -eq 0 ]; then rm "$file" fi done
核心逻辑就是用列表统一管理要处理的文件,循环遍历完成单文件的压缩与删除,后续新增或修改文件只需要调整列表内容,完全不用改动业务逻辑代码。
内容的提问来源于stack exchange,提问作者Kaio Romao
相关产品推荐
相关产品推荐

