python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python全自动文件整理

Python实现全自动文件整理的操作教程

作者:爱分享的飘哥

你是否常常感到桌面文件太乱,各类文档、图片、视频混杂一团,找个文件如大海捞针,桌面图标密密麻麻,各种新建文件夹(1)、图片001、合同终版(最终).pdf堆积如山,今天,我就将手把手教你如何利用Python实现全自动文件整理,需要的朋友可以参考下

你是否常常感到桌面文件太乱,各类文档、图片、视频混杂一团,找个文件如大海捞针?

桌面图标密密麻麻,各种“新建文件夹(1)”、“图片001”、“合同终版(最终).pdf”堆积如山。当你急需找一份三个月前下载的“XX项目资料.zip”,却只能在海量相似名称中反复点开、关闭、点开……最终,10分钟过去了,资料虽然找到了,但是时间也浪费了。

我对此也是深受其苦。很多人都有过这种重复、低效的手动文件整理和批量重命名文件工作经历,核心问题是它周期性的反复出现,手动进行文件整理和批量重命名文件,不仅耗时耗力,还容易出错。

今天,我就将手把手教你如何利用Python办公自动化重新塑造您对文件整理的认知,打造一套属于你自己的全自动文件整理术。拥有自己的专属脚本。让你轻松实现文件批量重命名和智能文件自动分类。你的桌面文件管理自动化脚本将让你把1小时的文件整理工作缩短到1分钟,彻底告别文件混乱!

准备好了吗?让我们一起开启这场职场效率的革命!

环境准备——打造你的Python自动化工具箱

还是熟悉味道,熟悉的配方。

你的第一个自动化脚本:Python几行代码,秒解日常小烦恼!

理论知识再多,不如亲手跑通一个脚本来得实在。现在,我们来写一个最简单的自动化脚本,让你感受Python的威力!

场景: 每天都需要创建一个以当前日期命名的文件夹,用来存放日报、会议记录等。手动创建太麻烦!
第一个脚本

   import os
   import datetime

def create_daily_folder():
    """
    创建一个以当前日期命名的文件夹。
    """
    today = datetime.date.today() # 获取今天的日期
    folder_name = today.strftime("%Y-%m-%d_日报") # 格式化文件夹名称,例如:2025-07-078_日报

    # 定义你想要创建文件夹的路径,这里以桌面为例,请根据你的实际情况修改
    # 注意:Windows系统路径是反斜杠,但Python中通常用正斜杠或双反斜杠
    # 如果是Windows,可以是 r"C:\Users\你的用户名\Desktop"
    # 如果是macOS/Linux,可以是 "/Users/你的用户名/Desktop"
    base_path = os.path.expanduser("~/Desktop") # 自动获取用户桌面路径
    full_path = os.path.join(base_path, folder_name) # 拼接完整路径

    if not os.path.exists(full_path): # 检查文件夹是否存在
        os.makedirs(full_path) # 如果不存在则创建
        print(f"✅ 成功创建文件夹:{full_path}")
    else:
        print(f"⚠️ 文件夹已存在:{full_path}")

if __name__ == "__main__":
    print("🚀 正在尝试创建今日日报文件夹...")
    create_daily_folder()
    print("✨ 操作完成。")

操作步骤:

复制粘贴: 可以在建立一个文件,和之间建立pythonoffice一样,我们起个名字 CreateFolder.py。

将上面代码进行复制:

运行: 直接在右边点击运行。

代码解释:import os import datetime 引用自身库,python自己携带的

os:环境相关,这里主要是生成路径,就是需要在哪个地方创建文件

datetime: 日期相关,生成文件名字

核心代码:os.makedirs 创建文件夹

注意事项: 可能出错地方,就是缩进:

文件找不到:如果找不到,可以在文件夹路径输入

效果展示:

怎么样?是不是超简单? 仅仅几行代码,就帮你省去了每天重复的创建动作!这只是Python办公自动化的冰山一角。有人说太麻烦了,还不如我手工创建,真正使用肯定不是这样做?通过界面点击一下不到一秒钟,这个文件夹就产生了!!现在不过是牛刀小试。

接下来,我们将正式进入Python文件管理的核心世界!

批量修改文件名:Python批量重命名,效率飙升100倍的秘诀!

文件命名混乱,是桌面文件太乱的元凶之一。无论是海量的照片、下载的文档,还是项目资料,如果名字不规范,查找起来简直是噩梦。你不会一直在使用window或者其他系统自带的查找功能吧?不仅效率低,还会产生恐怖的索引。导致硬盘吃力,运行后垃圾变多,越来越慢。

Python提供多种方式实现高效的文件批量重命名,让你不再为文件名烦恼。

这个章节会详细教你打造一个万能的批量重命名工具。

特别是对于大量的照片,进行Python图片整理时,批量命名尤其重要。

核心理念: Python通过操作文件路径和文件名字符串,可以实现任何你想到的重命名规则。

基础篇:给你的照片和文件加个“专属编号”(按序号重命名)

痛点场景: 你从相机或手机导出了几百张照片,文件名都是IMG_0001.JPG、IMG_0002.JPG,或者干脆是Screenshot (1).png这种默认名,混乱且难以区分。你希望它们能按顺序排好,并且加上有意义的前缀,比如旅行_001.jpg。

python代码:

import os

def batch_rename_by_sequence(folder_path, prefix="文件", start_num=1):
    """
    批量重命名指定文件夹下的文件,按序号进行命名。
    :param folder_path: 要处理的文件夹路径
    :param prefix: 新文件名的前缀,例如 "旅行照片"
    :param start_num: 起始编号
    """
    if not os.path.exists(folder_path):
        print(f"❌ 文件夹不存在:{folder_path}")
        return

    files = [f for f in os.listdir(folder_path) if os.path.isfile(os.path.join(folder_path, f))]
    files.sort() # 确保文件按某种顺序处理,这里按原文件名排序

    print(f"🚀 正在批量重命名 '{folder_path}' 下的文件...")
    for i, filename in enumerate(files):
        # 分离文件名和扩展名
        name, ext = os.path.splitext(filename)
        # 生成新文件名,使用zfill确保编号有前导零,如001
        new_name = f"{prefix}_{str(start_num + i).zfill(3)}{ext}"

        old_path = os.path.join(folder_path, filename)
        new_path = os.path.join(folder_path, new_name)

        try:
            os.rename(old_path, new_path)
            print(f"✅ 重命名:'{filename}' -> '{new_name}'")
        except PermissionError:
            print(f"⚠️ 权限不足,无法重命名文件:'{filename}'。请检查文件是否被占用。")
        except Exception as e:
            print(f"❌ 重命名失败:'{filename}'。错误信息:{e}")
    print("✨ 批量重命名完成!")

if __name__ == "__main__":
    # 请修改为你要整理的文件夹路径
    target_folder = os.path.expanduser("~/Desktop/待整理照片")
    batch_rename_by_sequence(target_folder, prefix="我的旅行", start_num=1)

操作步骤:

复制粘贴: 可以在建立一个文件,和之间建立pythonoffice一样,我们起个名字 ModifyFolderName.py,将上面代码进行粘贴。

可以自己建立一个文件夹放入一些照片,比如我在D盘建立一个文件夹,名字为旅游,放入一些照片。

代码解释:

files = [f for f in os.listdir(folder_path) if os.path.isfile(os.path.join(folder_path, f))]:遍历文 件夹下文件,形成一个数组。
for i, filename in enumerate(files): 循环遍历数组

注意事项: 需要修改路径

在代码这个地方进行修改:

效果展示:

现在,你不再需要手动拖拽、一个一个改名,你只需要轻轻一点,就能让1小时的文件整理工作缩短到1分钟,把宝贵的时间留给自己!

你的效率,就是你最大的职场竞争力!

但这仅仅是Python办公自动化的开始!你已经迈出了从手动操作到智能工作的第一步。文件整理仅仅是冰山一角,我们仅仅讲了文件批量命名,下一章我们会继续文件的智能分类

以上就是Python实现全自动文件整理的操作教程的详细内容,更多关于Python全自动文件整理的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文