python

Python文件操作怎样实现文件的批量操作

小樊
81
2024-11-09 14:05:50
栏目: 编程语言

在Python中,可以使用osshutil库来实现文件的批量操作。以下是一些常见的批量操作示例:

  1. 遍历目录及其子目录中的所有文件:
import os

def list_files(directory):
    for root, dirs, files in os.walk(directory):
        for file in files:
            yield os.path.join(root, file)
  1. 复制所有文件到一个目标目录:
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)
  1. 移动所有文件到一个目标目录:
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)
  1. 删除指定目录及其子目录中的所有文件:
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}")
  1. 压缩所有文件到一个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))

这些示例仅涵盖了文件批量操作的一部分。你可以根据需要修改和扩展这些函数以满足你的具体需求。

0
看了该问题的人还看了