本文编写于 457 天前,最后修改于 446 天前,其中某些信息可能已经过时。

一个批量更改文件名的小工具

主要用于批量转换文档后的修改文件名,比如OCR转换,比如扫描仪扫描

直接上代码

Python

# rename.py
# written by Andy 2020.1
# 使用说明:把该文件放在和图片文件夹同级目录,执行即可
# 用于遍历每一个文件夹,使得其名称前缀不含有0,如002.jpg可改成2.jpg,002.jpg.20200202.txt改成002.txt,并可以自行定义改名类型,具体请更改31行
# !/usr/bin/env python
# -*- coding: utf-8 -*-
import os

path = os.getcwd()
files = os.listdir(path)
folder = []

for index in range(len(files)):
    if "." not in files[index]:  #去除非目标文件夹
        folder.append(files[index])

# print(path)  # 当前目录
# print(folder)  # 不含其他非目标目录的文件夹
# print(files)  # 原文件夹

for index in range(len(folder)):
    changepath = path +'\\'+ folder[index] # 要进入的二级目录名
    # print(changepath)
    # os.chdir(changepath)  # 进入目录
    # print("当前目录为:",os.getcwd())
    filelist = os.listdir(changepath)   #该目录下的文件名
    print("当前修改的目录为:",changepath)
    # print("内含文件为:",filelist,"\n")
    for file in filelist:
        splitname = file.split(".")   # 先取出名称中的数字
        newname = str(int(splitname[0]))+"."+str(splitname[-1])    # 改名,通过int()函数把002改成2,后缀名不变
        olddir = changepath + '\\'+ file
        newdir = changepath + '\\'+ newname
        if(olddir != newdir):    # 名称不一样才需要更改名称
            os.rename(olddir,newdir)    # 重命名函数
            print("{}---成功修改为--->{}".format(olddir,newdir))
    # os.chdir(path)  # 退出目录
    print("当前目录重命名完成")
    print("")
print("全部处理完成")