python3 实现对文件夹中的文件批量重命名

最近在整理数据集,发现对文件的读写方面自己还很弱鸡,想做个积累,以下是一个小的脚本。


实现功能
遍历当前文件夹中的每个类别,在遍历每一个类别的所有文件,对文件从1开始递增编号命名


import os

def reName(dirname):
    '''
    实现将所有类别中的所有文章重新命名
    '''
    # 该文件夹下所有的文件(包括文件夹)
    for category in os.listdir(dirname):
        # print(category)
        catdir = os.path.join(dirname,category)
        # 如果不是文件夹则跳过
        if not os.path.isdir(catdir):
            continue
        files = os.listdir(catdir)
        # print(files)
        # files.remove('.DS_Store')
        count = 0
        for cur_file in files:
            print("正在处理" + category + "分类下的" + cur_file)
            filename = os.path.join(catdir,cur_file)
            count = count + 1
            # 原来的文件路径
            oldDir = os.path.join(catdir,cur_file)
            # 如果是文件夹则跳过
            if os.path.isdir(oldDir):
                continue
            # 文件名
            filename=os.path.splitext(cur_file)[0]
            # 文件扩展
            filetype=os.path.splitext(cur_file)[1]
            # 新的文件路径
            newDir=os.path.join(catdir,str(count)+filetype)
            # 重命名
            os.rename(oldDir,newDir)

if __name__ == '__main__':
        dirname = '/Users/alicelmx/Documents/实习/文本分类/理论文章/数据集/THUCNews/'
        reName(dirname)

你可能感兴趣的:(python基础知识)