通过python进行批量文件命名

记录批量命名文件的python实现方法,比较简单,直接附上代码记录一下。



对文件夹下的文件按照序号进行命名:


"""
    将路径下的文件以序号命名
"""
import os


def rename_number():
    count = 1
    path = os.getcwd() + '\\testdir\\'
    filelist = os.listdir(path)  # 获取当前路径下的文件的文件名
    for files in filelist:
        Olddir = os.path.join(path, files)   # 获取当前文件的绝对路径和名称生成绝对路径名
        if os.path.isdir(Olddir):
            continue
        filename = os.path.splitext(files)[0]  # 获取当前文件的名称
        filetype = os.path.splitext(files)[1]  # 获取当前文件的后缀名
        if filetype == '.py':
            continue   # 忽略.py结尾的文件
        Newdir = os.path.join(path, str(count)+filetype)  # 根据count编号给文件新命名
        os.rename(Olddir, Newdir)  # 用新的名称替换之前的名称
        count += 1  # 计数加1


rename_number()

 


对文件夹下的文件按照随机字符进行命名:

"""
    将路径下的文件以随机8位字符命名
"""
import os
import random
import string


def rename_randomstr():
    def ran():
        salt = ''.join(random.sample(string.ascii_letters + string.digits, 8))
        print(salt)
        return salt
    count = 1
    path = os.getcwd() + '\\testdir\\'
    filelist = os.listdir(path)  # 获取当前路径下的文件的文件名
    for files in filelist:
        Olddir = os.path.join(path, files)   # 获取当前文件的绝对路径和名称生成绝对路径名
        if os.path.isdir(Olddir):
            continue
        filename = os.path.splitext(files)[0]  # 获取当前文件名称
        filetype = os.path.splitext(files)[1]  # 获取当前文件的后缀名
        if filetype == '.py':
            continue   # 忽略.py结尾的文件
        Newdir = os.path.join(path, ran()+filetype)  # 根据ran()给文件新命名
        os.rename(Olddir, Newdir)  # 用新的名称替换之前的名称
        count += 1  # 计数加1


rename_randomstr()

 

你可能感兴趣的:(Python实践用例)