Python自动化管理文件的6个实用脚本总结

 更新时间:2026年03月31日 08:56:47   作者:东眠的鱼  
在日常工作中,手动管理文件既耗时又容易出错,而Python提供了强大的工具来自动完成这些任务,本文为大家整理了6个Python自动化管理文件的实用脚本,希望对大家有所帮助

1 Python自动化文件管理基础

为什么需要Python进行文件管理?

在日常工作中,手动管理文件既耗时又容易出错。而Python提供了强大的工具来自动完成这些任务!比如整理照片、备份文件或者清理临时文件,都可以用Python轻松搞定。

示例:假设你需要每天整理一个包含上千个文件的文件夹,手动操作可能需要几个小时,但用Python只需几秒钟!

# 这是一个简单的文件管理脚本框架
import os

Python文件管理的核心模块

Python中有几个专门用于文件管理的模块,比如os、shutil和pathlib。这些模块就像你的“工具箱”,能帮你完成各种文件操作。

  • os模块:处理文件路径、遍历目录等。
  • shutil模块:复制、移动和删除文件。
  • pathlib模块:更现代、更直观的路径操作方式。

代码示例:

# 导入核心模块
import os
import shutil
from pathlib import Path

文件管理的基本概念

在学习具体脚本之前,先了解一些基本概念:

  • 路径:文件或文件夹的位置,例如C:\Users\Name\Documents。
  • 绝对路径 vs 相对路径:绝对路径从根目录开始,相对路径基于当前工作目录。
  • 文件名与扩展名:example.txt中,example是文件名,.txt是扩展名。

小练习:运行以下代码查看当前工作目录:

print(os.getcwd())  # 输出当前工作目录

输出结果可能是:

C:\Users\Name

通过这些基础知识,你可以更好地理解接下来的具体脚本模板!

2 使用os模块列出目录中的所有文件

想快速列出某个文件夹里的所有文件吗?Python的os模块可以帮到你!下面教你怎么用os.listdir()列出指定目录的所有文件和子文件夹。

来看个例子:

import os

# 指定要查看的目录
folder_path = "C:/example_folder"

# 列出目录下的所有内容
all_items = os.listdir(folder_path)
print(all_items)  # 输出所有文件和文件夹的名字

这段代码会把C:/example_folder里的所有文件和文件夹名字打印出来。是不是特别方便?记得替换folder_path为你自己的路径哦!

3 使用shutil模块复制和移动文件

使用 shutil.copy() 复制文件

shutil 模块是 Python 提供的一个强大工具,可以轻松完成文件的复制操作。比如,你想把一个文件从一个位置复制到另一个位置,用 shutil.copy() 就能搞定!来看个例子:

import shutil

# 源文件路径和目标文件路径
source = "example.txt"
destination = "backup/example.txt"

# 创建目标目录(如果不存在)
os.makedirs(os.path.dirname(destination), exist_ok=True)

# 复制文件
shutil.copy(source, destination)

代码中,shutil.copy() 会将 example.txt 文件复制到 backup 文件夹中。是不是很方便?

使用 shutil.move() 移动文件

除了复制,我们还可以用 shutil.move() 来移动文件。例如,将文件从一个文件夹移到另一个文件夹:

import shutil

# 源文件路径和目标文件路径
source = "example.txt"
destination = "archive/example.txt"

# 移动文件
shutil.move(source, destination)
  • 运行后,example.txt 文件会被直接移动到 archive 文件夹中。
  • 通过这两个函数,你可以轻松实现文件的复制和移动操作啦!

4 使用pathlib模块创建和删除文件夹

创建文件夹

Python 的 pathlib 模块让文件夹操作变得超级简单!比如,如果你想创建一个新文件夹,只需几行代码就能搞定。来看个例子:

from pathlib import Path

# 定义文件夹路径
folder_path = Path("my_new_folder")

# 如果文件夹不存在,则创建
if not folder_path.exists():
    folder_path.mkdir()
    print("文件夹已成功创建!")
else:
    print("文件夹已经存在!")

运行后,你会在当前目录下看到一个名为 my_new_folder 的新文件夹。

删除文件夹

删除文件夹也同样简单!使用 rmdir() 方法即可。但要注意,这个方法只能删除空文件夹哦!

from pathlib import Path

# 定义文件夹路径
folder_path = Path("my_new_folder")

# 如果文件夹存在且为空,则删除
if folder_path.exists() and not any(folder_path.iterdir()):
    folder_path.rmdir()
    print("文件夹已成功删除!")
else:
    print("文件夹不存在或非空,无法删除!")

这段代码会检查文件夹是否存在以及是否为空,确保操作安全可靠

5 通过正则表达式批量重命名文件

正则表达式与文件名匹配

正则表达式是处理文本的强大工具,可以用来匹配复杂的文件名模式。比如,你想批量重命名所有包含日期的文件,可以用正则表达式轻松实现!来看个例子:

import os
import re

folder_path = "your_folder_path"  # 替换为你的文件夹路径

# 遍历文件夹中的所有文件
for filename in os.listdir(folder_path):
    # 匹配文件名中包含的日期格式(如2023-01-01)
    match = re.search(r'\d{4}-\d{2}-\d{2}', filename)
    if match:
        old_name = os.path.join(folder_path, filename)
        new_name = os.path.join(folder_path, match.group() + ".txt")  # 修改为你想要的新名字
        os.rename(old_name, new_name)  # 执行重命名操作
print("重命名完成!")

运行结果和原理

这段代码会遍历指定文件夹中的所有文件,找到文件名中包含“YYYY-MM-DD”格式的文件,并将其重命名为以该日期命名的新文件。是不是很方便?试试看吧!

6 使用Python压缩和解压文件

使用 zipfile 模块压缩文件

Python 的 zipfile 模块可以轻松压缩文件。比如,你想把几个文件打包成一个ZIP文件,只需要几行代码就能搞定!来看个例子:

import zipfile

# 创建一个新的ZIP文件
with zipfile.ZipFile('example.zip', 'w') as zipf:
    # 添加文件到ZIP中
    zipf.write('file1.txt')
    zipf.write('file2.txt')

print("文件已成功压缩为 example.zip")

这段代码会将 file1.txt 和 file2.txt 压缩成一个名为 example.zip 的文件。

使用 zipfile 模块解压文件

如果需要从 ZIP 文件中提取内容,zipfile 模块同样非常方便。下面是一个解压示例:

import zipfile

# 解压ZIP文件
with zipfile.ZipFile('example.zip', 'r') as zipf:
    zipf.extractall('extracted_files')

print("文件已成功解压到 extracted_files 文件夹")

运行后,example.zip 中的所有文件会被解压到 extracted_files 文件夹中。

使用 shutil 模块快速压缩文件夹

如果你想直接压缩整个文件夹,shutil 模块的 make_archive 函数是个好选择!看代码:

import shutil

# 压缩整个文件夹
shutil.make_archive('my_folder_archive', 'zip', 'my_folder')

print("文件夹已成功压缩为 my_folder_archive.zip")

这段代码会将 my_folder 文件夹压缩成 my_folder_archive.zip。

使用 tarfile 模块处理 .tar 文件

除了 ZIP 文件,Python 还支持处理 .tar 格式的压缩文件。以下是如何创建一个 .tar.gz 文件:

import tarfile

# 创建一个.tar.gz文件
with tarfile.open('example.tar.gz', 'w:gz') as tar:
    tar.add('file1.txt')
    tar.add('file2.txt')

print("文件已成功压缩为 example.tar.gz")

这段代码会将 file1.txt 和 file2.txt 打包成一个 .tar.gz 文件。

解压 .tar.gz 文件

解压 .tar.gz 文件也很简单,使用 tarfile 模块即可:

import tarfile

# 解压.tar.gz文件
with tarfile.open('example.tar.gz', 'r:gz') as tar:
    tar.extractall('extracted_tar_files')

print("文件已成功解压到 extracted_tar_files 文件夹")

运行后,example.tar.gz 中的内容会被解压到 extracted_tar_files 文件夹中。

高级技巧:批量压缩多个文件

如果你需要一次性压缩多个文件,可以用列表推导式来简化操作!例如:

import zipfile

files_to_compress = ['file1.txt', 'file2.txt', 'file3.txt']

# 批量压缩多个文件
with zipfile.ZipFile('batch_example.zip', 'w') as zipf:
    for file in files_to_compress:
        zipf.write(file)

print("所有文件已成功压缩为 batch_example.zip")
  • 这段代码会将 files_to_compress 列表中的所有文件压缩到 batch_example.zip 中。
  • 通过这些实用脚本模板,你可以轻松完成各种文件的压缩和解压任务!是不是超级简单?快试试吧!

7 实战案例:自动整理下载文件夹并分类存储

自动识别文件类型

在整理下载文件夹时,第一步是识别文件类型。Python 的 os 和 pathlib 模块可以轻松获取文件扩展名。比如,下面的代码能帮你找到所有图片文件:

from pathlib import Path

download_folder = Path("C:/Users/YourName/Downloads")
image_files = list(download_folder.rglob("*.jpg")) + list(download_folder.rglob("*.png"))
print(image_files)

这段代码会列出下载文件夹中所有的 .jpg 和 .png 文件。

创建分类文件夹

接下来,我们需要为不同类型的文件创建对应的文件夹。用 pathlib 可以轻松实现:

for folder in ["Images", "Documents", "Videos"]:
    (download_folder / folder).mkdir(exist_ok=True)

运行后,你会在下载文件夹中看到 Images、Documents 和 Videos 等新文件夹。

移动文件到对应文件夹

最后一步是把文件移动到正确的分类文件夹。使用 shutil.move() 可以轻松完成

import shutil

for file in image_files:
    shutil.move(file, download_folder / "Images" / file.name)
  • 这段代码会把所有图片文件移动到 Images 文件夹中。
  • 通过这三步,你的下载文件夹就能变得井井有条!试试看吧,是不是特别方便?

以上就是Python自动化管理文件的6个实用脚本总结的详细内容,更多关于Python自动化管理文件的资料请关注脚本之家其它相关文章!

相关文章

  • python 的numpy库中的mean()函数用法介绍

    python 的numpy库中的mean()函数用法介绍

    这篇文章主要介绍了python 的numpy库中的mean()函数用法介绍,具有很好对参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • Python中使用ElementTree解析XML示例

    Python中使用ElementTree解析XML示例

    这篇文章主要介绍了Python中使用ElementTree解析XML示例,本文同时讲解了XML基本概念介绍、XML几种解析方法和ElementTree解析实例,需要的朋友可以参考下
    2015-06-06
  • python html2text库将HTML文档转换为纯文本格式使用示例探索

    python html2text库将HTML文档转换为纯文本格式使用示例探索

    这篇文章主要为大家介绍了python html2text库将HTML文档转换为纯文本格式使用示例探索,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • python爬虫scrapy框架的梨视频案例解析

    python爬虫scrapy框架的梨视频案例解析

    这篇文章主要介绍了python爬虫scrapy框架的梨视频案例解析,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • pandas实现导出数据的四种方式

    pandas实现导出数据的四种方式

    这篇文章主要介绍了pandas实现导出数据的四种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Python列表排序方法reverse、sort、sorted详解

    Python列表排序方法reverse、sort、sorted详解

    这篇文章主要介绍了Python列表排序方法reverse、sort、sorted详解,需要的朋友可以参考下
    2021-04-04
  • python利用WordCloud模块实现词云绘制

    python利用WordCloud模块实现词云绘制

    wordcloud是词云绘图模块,封装了WordCloud词云类,是词云的基本载体,下面小编就来和大家详细讲讲如何利用WordCloud模块实现词云绘制吧,希望对大家有所帮助
    2023-10-10
  • Python精确统计函数执行时间的多种方法

    Python精确统计函数执行时间的多种方法

    在软件开发中,我们常常需要了解代码的执行效率,本文将介绍 Python中统计 函数执行时间 的多种方法,及其适用场景和注意事项,需要的朋友可以参考下
    2026-01-01
  • 浅析python参数的知识点

    浅析python参数的知识点

    在本文里小编给大家分享的是关于python参数的知识点内容,正在学习的读者们跟着思考下吧。
    2018-12-12
  • python实现与arduino的串口通信的示例代码

    python实现与arduino的串口通信的示例代码

    本文主要介绍了python实现与arduino的串口通信的示例代码, 在Python中,我们可以使用pyserial库来实现与Arduino的串口通信,下面就来介绍一下如何使用,感兴趣的可以了解一下
    2024-01-01

最新评论