Python实现:批量修改文件名小工具软件

2021-10-14 11:46:37 浏览数 (1)

## 背景

平时我会通过百度网盘分享一些好看的电影和电视剧等视频,但是奈何度娘比较生猛,秉着宁可错杀一千、绝不放过一个的原则,分享的视频链接经常会被和谐,让人很是苦恼

有时候会手动修改电影的扩展名,可以有效避开百度网盘的和谐,但是如果是电视剧,数量有点多,修改起来就比较麻烦了

## 需求

1、可以批量修改当前文件夹下(包括子文件夹)的文件名,在文件扩展名后加上一个“1”

2、可以批量修改当前文件夹下(包括子文件夹)的文件名,去掉文件扩展名最后的“1”

3、不需要搭建任何开发环境,通过简单的双击运行就能实现

## 代码

代码语言:javascript复制
import os

def rename_add_1(path):
    file_list = os.listdir(path)
    for file in file_list:
        absolute_file = path   "/"   file
        if os.path.isfile(absolute_file):
            if file.endswith(".py") or file.endswith(".exe") or file.endswith(".txt"):
                continue
            old_name = absolute_file
            new_name = old_name   "1"
            os.rename(old_name, new_name)
            print("新文件名:", new_name)
        else:
            # 递归文件夹修改文件名
            rename_add_1(absolute_file)


def rename_sub_1(path):
    file_list = os.listdir(path)
    for file in file_list:
        absolute_file = path   "/"   file
        if os.path.isfile(absolute_file):
            if not file.endswith("1"):
                continue
            old_name = absolute_file
            new_name = old_name.strip('1')
            os.rename(old_name, new_name)
            print("新文件名:", new_name)
        else:
            # 递归文件夹修改文件名
            rename_sub_1(absolute_file)

if __name__ == '__main__':
    # 获取当前程序所在的文件路径
    path = os.getcwd()
    # 给当前路径下的所有文件名后边都 1
    rename_add_1(path)
    # 把当前路径下的所有文件名后边的1去掉
    rename_sub_1(path)

Terminal执行以下命令安装pyinstaller依赖并生成可执行文件

代码语言:javascript复制
# 安装pyinstaller
pip install pyinstaller

# rename_file.py是python程序的相对路径
# 执行以下命令将在当前路径下生成dist/rename_file.exe可执行文件(Windows环境下)
# mac环境下将生成mac系统的可执行文件
pyinstaller -F rename_file.py

点击阅读原文可下载exe可执行文件以及查看Gitee项目源码

文/戴先生@2021年9月22日

---end---

0 人点赞