Python文件操作怎樣實(shí)現(xiàn)文件的批量操作

小樊
81
2024-11-09 14:05:50
欄目: 編程語言

在Python中,可以使用osshutil庫來實(shí)現(xiàn)文件的批量操作。以下是一些常見的批量操作示例:

  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. 復(fù)制所有文件到一個(gè)目標(biāo)目錄:
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. 移動(dòng)所有文件到一個(gè)目標(biāo)目錄:
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. 壓縮所有文件到一個(gè)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))

這些示例僅涵蓋了文件批量操作的一部分。你可以根據(jù)需要修改和擴(kuò)展這些函數(shù)以滿足你的具體需求。

0