python 遍历从重命名文件夹下的所有文件

收到一个文件包,里面的文件命名是1.png、2.png......但在手机上打开时,是按1/10/11/12这样排序的,不是按数字从小到大。因此,需要将所有的文件重命名为001.png这种带0前缀的格式。

python 复制代码
import os
import re

def traverse_rename(path):
    for root, dirs, files in os.walk(path):
        print(f'当前目录:{root}')
        # 处理文件
        print(f'文件数量{len(files)}')
        for file in files:
            # print(os.path.join(root, file))
            r = re.match(r'[0-9]+', file)
            if r:
                fill_0 = 3-r.span()[1]
                if fill_0 <= 0:
                    continue
                new_file = '0'*fill_0+file
                print(f'src:{file},dst:{new_file}')
                os.rename(os.path.join(root,file), os.path.join(root,new_file))


if __name__ == '__main__':
    path = r'D:\测试'
    traverse_rename(path)
相关推荐
wifi___11 分钟前
全局异常处理的原理
java·开发语言
平常心的技术小牛3 小时前
Qt-快速上手-QMenuBar
开发语言·qt
青 春 记 忆4 小时前
零基础入门Python11|Git实战:为任务管理器建立版本历史
开发语言·git·vscode·python·python3.11
Python私教4 小时前
多个项目怎么安全合并?先适配,再切换
后端·python·架构
余额瞒着我当琳6 小时前
C++--深拷贝三件套 + swap + 写时拷贝 + vector 扩容 + reserve
java·开发语言·c++
坐吃山猪6 小时前
WebClient内存配置解析
开发语言·springboot·webflux
北斗落凡尘6 小时前
LangGraph 入门实战(12)--使用MCP
后端·python·langchain
jdksjw7 小时前
同步与异步、阻塞与非阻塞、多线程、协程超详细讲解(Python并发编程从入门到精通)
开发语言·python
Zach_菠萝侠7 小时前
【DeepSeek Harness 研究】进化方向4:安全加固 思考、设计与实现
开发语言·安全·deepseek
Mike_Zhang7 小时前
使用python统计FreeSWITCH呼叫并发
python·freeswitch