天天看点

python学习:如何用自定义前缀+编号的方式批量重命名文件

作者:琴棋书画788
python学习:如何用自定义前缀+编号的方式批量重命名文件

一、如何用自定义前缀+编号的方式批量重命名文件

import os  # 导入os模块
while True: # 循环输入
    path=input('请输入要重命名的文件所在路径:') # 记录输入的路径
    try:
        list = os.listdir(path)  # 遍历选择的文件夹
        num = 0  # 记录文件数量
        for i in range(0, len(list)):  # 遍历文件列表
            filepath = os.path.join(path, list[i])  # 记录遍历到的文件名
            if os.path.isfile(filepath):  # 判断是否为文件
                filetype = os.path.splitext(filepath)[1]  # 获取扩展名
                template = '{:0>3d}'  # 设置编号格式化为3位
                # 根据模板、起始编号和增量值生成新文件名
                newfilename = 'file_'+template.format(num + 1) + filetype
                newfilepath = os.path.join(path, newfilename)  # 新文件名(包括路径)
                os.rename(filepath, newfilepath)  # 重命名文件
                num += 1  # 数量加1
        print('批量重命名完成,共处理文件 ' + str(num) + ' 个')  # 显示重命名了多少文件
    except:
        print('请输入一个有效路径……')           
python学习:如何用自定义前缀+编号的方式批量重命名文件

二、以当前日期时间创建文件

import os
import datetime
import time
while True:
    path=input('请输入文件保存地址:') # 记录文件保存地址
    num=int(input('请输入创建文件的数量:')) # 记录文件创建数量
    # 循环创建文件
    for i in range(num):
        t=datetime.datetime.now() # 获取当前时间
        # 对当前日期时间进行格式化,作为文件名
        file=os.path.join(path,t.strftime('%Y%m%d%H%M%S')+'.txt')
        open(file,'w',encoding='utf-8') # 以UTF8编码创建文件
        time.sleep(1) # 休眠1秒钟
        i+=1 # 循环标识加1
    print('创建成功!')
    os.startfile(path) # 打开路径查看           
python学习:如何用自定义前缀+编号的方式批量重命名文件

三、如何象资源管理器一样遍历指定文件夹下的所有子文件夹及文件

import os  # 导入os模块
while True: # 循环输入
    path=input('请输入一个路径:') # 记录输入的路径
    try:
        list = os.listdir(path)  # 遍历选择的文件夹
        filenames=[] # 存储所有文件的列表
        dirnames=[] # 存储所有子文件夹的列表
        for i in range(0, len(list)):  # 遍历文件列表
            filepath = os.path.join(path, list[i])  # 记录遍历到的文件名
            if os.path.isdir(filepath): # 判断是否为文件夹
                dirnames.append(list[i]) # 将遍历到的文件夹添加到列表中
            elif os.path.isfile(filepath):  # 判断是否为文件
                filenames.append(list[i]) # 将遍历到的文件添加到列表中
        print('\033[1;41m————文件夹列表————\033[0m')
        for dirname in dirnames: # 遍历子文件夹列表并输出
            print('  ',dirname)
        print('\033[1;42m—————文件列表—————\033[0m')
        for filename in filenames: #遍历文件列表并输出
            print('  ',filename)
    except:
        print('请输入一个有效路径……')           
python学习:如何用自定义前缀+编号的方式批量重命名文件