python 批量修改文件名(PDF、word、Excel、图片、视频等)

这篇具有很好参考价值的文章主要介绍了python 批量修改文件名(PDF、word、Excel、图片、视频等)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

      很多朋友遇到批量修改文件名的问题,网上各种搜,操作麻烦不说还有些需要付费。这里不多废话,直接上代码。

一、支持库

import os
import tkinter
from tkinter import *
from tkinter import filedialog
from tkinter import messagebox

二、 定义函数

def Rename():  # 处理粘贴上来的数据
    global var1,var2
    i = 0
    path0 = entry.get('0.0','end')  #获取输入框内容
    path0 = path0.replace('\n','')
    path = filedialog.askdirectory()  #加载需要改名的文件
    files = os.listdir(path)
    #判断 复选框情况
    if (var1.get() == 1 and var2.get() == 0 and var3.get() == 0):   #加到文件名前面
        for aa in files:
            # 旧名称
            old = os.path.join(path, aa)
            kzm = os.path.splitext(aa)[-1]
            picture = os.path.splitext(aa)[0]
            # 新名称
            new = picture.replace(picture, path0 + picture + kzm)
            # 加上路径
            new = os.path.join(path, new)
            # 开始修改文件名称
            os.rename(old, new)
    elif (var1.get() == 0 and var2.get() == 1 and var3.get() == 0):  #加到文件名后面
        for aa in files:
            # 旧名称
            old = os.path.join(path, aa)
            kzm = os.path.splitext(aa)[-1]
            picture = os.path.splitext(aa)[0]
            # 新名称
            new = picture.replace(picture, picture + path0 + kzm)
            # 加上路径
            new = os.path.join(path, new)
            # 开始修改文件名称
            os.rename(old, new)
    elif (var1.get() == 0 and var2.get() == 0 and var3.get() == 1):  #全部修改
        for aa in files:
            i = i + 1
            # 旧名称
            old = os.path.join(path, aa)
            kzm = os.path.splitext(aa)[-1]
            picture = os.path.splitext(aa)[0]
            # 新名称
            new = picture.replace(picture, path0 + '-' + str(i) + kzm)
            # 加上路径
            new = os.path.join(path, new)
            # 开始修改文件名称
            os.rename(old, new)
    else:
        messagebox.showerror(message="请勾选:加到文件名前面、加到文件名后面 还是 全部修改!!!")

    messagebox.showinfo('小叶提醒:', '批量修改文件名已完成!!!')
    os.startfile(path)  #改好之后打开文件夹
    root.quit()

def tick_trigger():
    if (var1.get() == 1 and var2.get() == 0 and var3.get() == 0):   #加到文件名前面
        ck2.deselect()
        ck3.deselect()
        ck2['state'] = 'disabled'   # 设置状态 normal正常、active活动、 disabled禁用 默认 normal
        ck3['state'] = 'disabled'
    elif (var1.get() == 0 and var2.get() == 1 and var3.get() == 0):  #加到文件名后面
        ck1.deselect()
        ck3.deselect()
        ck1['state'] = 'disabled'   # 设置状态 normal正常、active活动、 disabled禁用 默认 normal
        ck3['state'] = 'disabled'
    elif (var1.get() == 0 and var2.get() == 0 and var3.get() == 1):  #全部修改
        ck1.deselect()
        ck2.deselect()
        ck1['state'] = 'disabled'   # 设置状态 normal正常、active活动、 disabled禁用 默认 normal
        ck2['state'] = 'disabled'
    elif (var1.get() == 0 and var2.get() == 0 and var3.get() == 0):  #未选择
        ck1.deselect()
        ck2.deselect()
        ck2.deselect()
        ck1['state'] = 'normal'   # 设置状态 normal正常、active活动、 disabled禁用 默认 normal
        ck2['state'] = 'normal'
        ck3['state'] = 'normal'
    else:
        messagebox.showerror(message="只能勾选一个,不能多选!!!")

三、程序入口

if __name__ == '__main__':
    root = Tk()  # 创建一个窗体,通过这个窗口选择指定的目标文件夹,目标文件夹存放着很多PDF文件,我们要通过这个程序在这个文件夹中筛选出需要的文件
    root.title('批量修改文件名')
    root.geometry("210x200")
    var1 = tkinter.IntVar()
    var2 = tkinter.IntVar()
    var3 = tkinter.IntVar()
    ck1 = tkinter.Checkbutton(root, text="加到文件名前面",font=('黑体', 15), height=1, variable=var1,command=lambda: tick_trigger())
    ck1.place(x=5, y=40)
    ck2 = tkinter.Checkbutton(root, text="加到文件名后面",font=('黑体', 15), height=1, variable=var2,command=lambda: tick_trigger())
    ck2.place(x=5, y=70)
    ck2.select()
    ck3 = tkinter.Checkbutton(root, text="全部修改",font=('黑体', 15), height=1, variable=var3,command=lambda: tick_trigger())
    ck3.place(x=5, y=100)
    entry = Text(root, font=('宋体', 15), bg='#E6E8FA')  # 设置输入框
    entry.place(x=5, y=5, width=200, height=30)  # 显示组件
    #entry3.insert(INSERT, "输入文件名需要增加的字段")  # INSERT 光标处插入 END 末尾处插入
    btn_OK = tkinter.Button(root,
                            text='更 改',
                            font=('宋体', 18, 'bold'),
                            bd=5,  # 边框的大小
                            height=1,
                            width=6,  # 宽度
                            bg='#1E90FF', # 背景颜色
                            fg='#FFFFFF', # 文本颜色
                            relief='raised', # 边框的3D样式 flat、sunken、raised、groove、ridge、solid。默认为 raised。
                            command=lambda: Rename())
    btn_OK.place(x=55, y=140)
    root.mainloop()

四、运行,微云 下载:文件分享

pdf批量重命名 python,python,开发语言文章来源地址https://www.toymoban.com/news/detail-816617.html

到了这里,关于python 批量修改文件名(PDF、word、Excel、图片、视频等)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Lua 批量修改文件夹下文件名

    2024年02月16日
    浏览(58)
  • PowerShell批量修改、替换大量文件的文件名

      本文介绍基于 PowerShell 语言,对文件夹中全部文件的名称加以 批量 替换、修改的方法。   在之前的文章基于Python一次性批量修改多个文件的文件名(https://blog.csdn.net/zhebushibiaoshifu/article/details/115869725)中,我们介绍了基于 Python 语言,批量修改大量文件的名称的方法。

    2024年02月01日
    浏览(58)
  • 批量提取文件名到excel,详细的提取步骤

        如何批量提取文件名到excel?我们的电脑中可能存储着数量非常多的电子文件,现在需要快速将这些文件的名称全部提取到Excel中。虽然少量数据可以通过复制粘贴的方式轻松完成,但是对于上万个数据而言,复制粘贴都是行不通的,可能会消耗你大量的时间。键盘按到天

    2024年02月13日
    浏览(51)
  • 快速批量修改文件名,微软官方软件PowerRename

    https://github.com/microsoft/PowerToys/releases https://apps.microsoft.com/store/detail/microsoft-powertoys/XP89DCGQ3K6VLD 在命令行/PowerShell 运行以下命令即可: 这一步如果没有PowerRename选项的可以在PowerToys(第一步下载的软件)中启用PowerRename,并把在上下文菜单中隐藏图标取消勾选 选中使用正则表达式,

    2024年02月05日
    浏览(66)
  • Linux批量快速修改文件名的三种方法

    在Linux中, 批量重命名文件 是一项常见且有用的操作。以下是三种常用的批量重命名文件的方法,每种方法都附有示例。这些方法既可以适用于新手,也适用于更有经验的用户。 话不多说,直接上干货! rename 命令 rename命令是一种强大的批量重命名工具,它支持使用正则表

    2024年04月11日
    浏览(58)
  • 零代码编程:PDF文件名和Excel数据进行比对找不同

    F盘“北交所招股说明书”文件夹下有150个文件; F盘”北证A股20230703.xlsx”表格中证券名称有200多个; 现在想找出文件夹下的哪些证券名称不在表格里面。 在ChatGPT中输入提示词: 写一段Python程序: F盘“北交所招股说明书”文件夹下有很多PDF文件,获取其标题名称,保存到

    2024年02月15日
    浏览(44)
  • 对于双击用Microsoft Office(包括Word、Excel、Powerpoint)打开文件之后展示文件名自动更改、文件名加1等情况的解决办法

    本方法由微软客服提供。其不只提供了一种方法,本人按照提供的方法按序操作但是最终解决本人问题的只有最后一种方法。代码段来自微软帮助我解决问题的客服人员。感谢他们的工作和付出。 戴尔G15        Windows11重装Windows10        正版 Microsoft Office 家庭和学生版 2

    2024年02月12日
    浏览(278)
  • web前端之node批量修改文件名、大小驼峰与符号之间的相互转换、把小驼峰文件名改为短横线、readdir、stat、rename

    以上代码只能在node环境下运行,在浏览器环境中运行报错。 node index.js

    2024年02月01日
    浏览(75)
  • 如何在 Linux 中批量改变文件名?

    在Linux中,使用 \\\"rename\\\" 命令可以批量修改文件名。具体步骤如下: 1. 打开终端并进入你要批量修改文件名的目录: ``` cd /path/to/directory ``` 2. 使用 \\\"rename\\\" 命令来修改文件名。例如,将所有的 \\\".txt\\\" 文件扩展名改为 \\\".md\\\" 扩展名,可以使用以下命令: ``` rename \\\'s/.txt$/.md/\\\' *.txt ```

    2024年02月05日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包