最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中實現(xiàn)文件批量處理的自動化腳本

 更新時間:2025年11月14日 08:19:47   作者:程序員愛釣魚  
在實際開發(fā)、數(shù)據(jù)整理或辦公自動化中,我們經(jīng)常需要一次性處理大量文件,本章將從常見場景出發(fā),通過示例腳本幫助你快速掌握文件批量處理能力

在實際開發(fā)、數(shù)據(jù)整理或辦公自動化中,我們經(jīng)常需要一次性處理大量文件,例如:

  • 批量重命名文件
  • 批量復制/移動文件
  • 批量壓縮文件
  • 批量格式轉換
  • 批量讀取與寫入文本內容

Python 的標準庫中,osshutil、glob 等模塊可以輕松構建各種文件批處理腳本,是自動化辦公與數(shù)據(jù)清洗的利器。

本章將從常見場景出發(fā),通過示例腳本幫助你快速掌握文件批量處理能力。

一、基礎庫介紹

1. os 模塊

提供文件路徑、文件夾、新建/刪除目錄等操作。

常用方法:

  • os.listdir()
  • os.rename()
  • os.path.exists()
  • os.makedirs()
  • os.remove()

2. shutil 模塊

執(zhí)行高級文件操作:

  • 拷貝文件:shutil.copy()
  • 移動文件:shutil.move()
  • 拷貝整個文件夾:shutil.copytree()

3. glob 模塊

使用通配符批量匹配文件,例如:

glob.glob("*.txt")
glob.glob("images/*.jpg")

是處理大量文件時非常方便的模塊。

二、批量重命名文件

例如:把文件名全部改為統(tǒng)一格式 img_001.jpg、img_002.jpg。

import os

folder = "images"

files = os.listdir(folder)

for i, filename in enumerate(files, start=1):
    old_path = os.path.join(folder, filename)
    ext = os.path.splitext(filename)[1]
    new_name = f"img_{i:03d}{ext}"
    new_path = os.path.join(folder, new_name)
    os.rename(old_path, new_path)

print("重命名完成。")

技術要點

  • os.path.splitext() 可獲得文件擴展名
  • i:03d 生成 001、002 的數(shù)字序號

三、批量復制/移動文件

1. 批量復制

import shutil
import glob

src_files = glob.glob("data/*.txt")
dst_folder = "backup"

os.makedirs(dst_folder, exist_ok=True)

for file in src_files:
    shutil.copy(file, dst_folder)

print("復制完成。")

2. 批量移動

import shutil
import glob

for file in glob.glob("data/*.csv"):
    shutil.move(file, "csv_files")

print("移動完成。")

四、批量刪除文件

例如,刪除所有 .log 文件:

import os
import glob

for file in glob.glob("logs/*.log"):
    os.remove(file)

print("刪除完成。")

目錄刪除使用 shutil.rmtree("folder")。

五、批量讀取文本內容并寫入?yún)R總文件

比如,你有 100 個 .txt 日志文件,需要匯總到一個文件。

import glob

files = glob.glob("logs/*.txt")

with open("summary.txt", "w", encoding="utf-8") as outfile:
    for file in files:
        with open(file, "r", encoding="utf-8") as f:
            outfile.write(f"=== 文件:{file} ===\n")
            outfile.write(f.read())
            outfile.write("\n\n")

print("匯總完成。")

六、批量修改文件內容(查找 + 替換)

在大量 .txt 文件中,將所有 "測試" 替換為 "正式"

import glob

for file in glob.glob("docs/*.txt"):
    with open(file, "r", encoding="utf-8") as f:
        text = f.read()

    text = text.replace("測試", "正式")

    with open(file, "w", encoding="utf-8") as f:
        f.write(text)

print("批量替換完成。")

七、批量壓縮文件(zipfile模塊)

import zipfile
import glob

files = glob.glob("data/*.csv")

with zipfile.ZipFile("data.zip", "w") as zipf:
    for file in files:
        zipf.write(file)

print("壓縮完成。")

八、批量處理的實戰(zhàn)案例:自動整理下載目錄

下面給出一個實戰(zhàn)腳本,把下載目錄按文件類型分類:

import os
import shutil
import glob

download_folder = "downloads"

file_types = {
    "圖片": ["*.jpg", "*.png"],
    "視頻": ["*.mp4"],
    "壓縮包": ["*.zip", "*.rar"],
    "文檔": ["*.pdf", "*.docx", "*.txt"]
}

for folder_name, patterns in file_types.items():
    target_folder = os.path.join(download_folder, folder_name)
    os.makedirs(target_folder, exist_ok=True)

    for pattern in patterns:
        for file in glob.glob(os.path.join(download_folder, pattern)):
            shutil.move(file, target_folder)

print("下載目錄已整理完畢!")

執(zhí)行后,文件會自動分類到各自目錄,辦公效率提升非常明顯。

九、文件批處理腳本的最佳實踐

  • 使用 glob 匹配大量文件更快
  • 寫入文件前備份原文件
  • 對文件操作加入 try/except 防止腳本崩潰
  • 復雜任務建議封裝成函數(shù)或類

示例:

try:
    shutil.move(src, dst)
except Exception as e:
    print("移動失?。?, e)

十、總結

本章你掌握了 Python 在文件自動化中的核心技能:

  • 批量重命名
  • 批量復制、移動、刪除
  • 批量讀取、寫入和替換內容
  • 批量壓縮
  • 使用 glob 進行文件匹配
  • 實戰(zhàn):自動整理下載目錄

這些腳本結合日常辦公場景,可以最大化提升工作效率,是每個 Python 工程師必須掌握的技能點。

到此這篇關于Python中實現(xiàn)文件批量處理的自動化腳本的文章就介紹到這了,更多相關Python文件批量處理腳本內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 聊聊.py和.ipynb的一些小知識

    聊聊.py和.ipynb的一些小知識

    這篇文章主要介紹了聊聊.py和.ipynb的一些小知識,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Python數(shù)據(jù)可視化Pyecharts庫的使用教程

    Python數(shù)據(jù)可視化Pyecharts庫的使用教程

    pyecharts是一個用于生成echarts圖表的類庫。echarts是百度開源的一個數(shù)據(jù)可視化庫,用echarts生成的圖可視化效果非常棒。使用pyechart庫可以在python中生成echarts數(shù)據(jù)圖。本文將詳細介紹一下Pyecharts庫的使用,需要的可以參考一下
    2022-02-02
  • Python用61行代碼實現(xiàn)圖片像素化的示例代碼

    Python用61行代碼實現(xiàn)圖片像素化的示例代碼

    這篇文章主要介紹了Python用61行代碼實現(xiàn)圖片像素化的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-12-12
  • Python處理PDF及生成多層PDF實例代碼

    Python處理PDF及生成多層PDF實例代碼

    Python提供了眾多的PDF支持庫,本篇文章主要介紹了Python處理PDF及生成多層PDF實例代碼,這樣就能夠實現(xiàn)圖片掃描上來的內容也可以進行內容搜索的目標
    2017-04-04
  • Python操作Excel的10個必學腳本分享

    Python操作Excel的10個必學腳本分享

    Excel表格操作是我們日常工作中不可或缺的一部分,而Python憑借其強大的數(shù)據(jù)處理能力,可以極大地提升我們操作Excel的效率,本文將介紹10個必學的Python腳本,需要的可以零基礎
    2025-03-03
  • Pycharm學習教程(2) 代碼風格

    Pycharm學習教程(2) 代碼風格

    這篇文章主要為大家詳細介紹了最全的Pycharm學習教程第二篇代碼風格,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • PyQt5+requests實現(xiàn)車票查詢工具

    PyQt5+requests實現(xiàn)車票查詢工具

    這篇文章主要為大家詳細介紹了PyQt5+requests實現(xiàn)車票查詢工具,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • python學習之subprocess模塊詳解

    python學習之subprocess模塊詳解

    這篇文章主要介紹了python學習之subprocess模塊的相關資料,該模塊用于創(chuàng)建子進程并與其進行交互,它提供了多個函數(shù)和類來執(zhí)行操作系統(tǒng)命令、獲取命令輸出以及管理子進程的生命周期,需要的朋友可以參考下
    2024-12-12
  • python中使用smtplib和email模塊發(fā)送郵件實例

    python中使用smtplib和email模塊發(fā)送郵件實例

    python腳本發(fā)郵件,一般會用到smtplib和email這兩個模塊??纯丛撃K怎么使用,先看smtplib模塊。 smtplib模塊定義了一個簡單的SMTP客戶端,可以用來在互聯(lián)網(wǎng)上發(fā)送郵件
    2014-04-04
  • Flask模板引擎之Jinja2語法介紹

    Flask模板引擎之Jinja2語法介紹

    這篇文章主要介紹了Flask模板引擎之Jinja2語法介紹,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-06-06

最新評論

定襄县| 吉木萨尔县| 吉林市| 隆回县| 利津县| 马鞍山市| 剑阁县| 曲阜市| 马鞍山市| 高雄县| 彰化市| 四川省| 寿阳县| 恩施市| 天祝| 来安县| 甘孜县| 靖州| 扎兰屯市| 滦平县| 南丹县| 名山县| 朝阳区| 汪清县| 嘉峪关市| 方山县| 襄汾县| 江口县| 盐边县| 通河县| 广灵县| 灌云县| 育儿| 潮安县| 蕲春县| 资兴市| 电白县| 南通市| 海口市| 开阳县| 潞城市|