在Python中,可以使用os
和shutil
库来实现文件的批量操作。以下是一些常见的批量操作示例:
- 遍历目录及其子目录中的所有文件:
import os def list_files(directory): for root, dirs, files in os.walk(directory): for file in files: yield os.path.join(root, file)
- 复制所有文件到一个目标目录:
import shutil def copy_files(source_dir, target_dir): if not os.path.exists(target_dir): os.makedirs(target_dir) for file in list_files(source_dir): shutil.copy2(file, target_dir)
- 移动所有文件到一个目标目录:
import shutil def move_files(source_dir, target_dir): if not os.path.exists(target_dir): os.makedirs(target_dir) for file in list_files(source_dir): shutil.move(file, target_dir)
- 删除指定目录及其子目录中的所有文件:
import shutil def delete_files(directory): for root, dirs, files in os.walk(directory, topdown=False): for file in files: file_path = os.path.join(root, file) try: os.remove(file_path) except OSError as e: print(f"Error: {e.filename} - {e.strerror}")
- 压缩所有文件到一个ZIP文件:
import zipfile def zip_files(source_dir, zip_file): with zipfile.ZipFile(zip_file, 'w', zipfile.ZIP_DEFLATED) as zipf: for file in list_files(source_dir): zipf.write(file, os.path.relpath(file, source_dir))
这些示例仅涵盖了文件批量操作的一部分。你可以根据需要修改和扩展这些函数以满足你的具体需求。