最近在网络上下载了一部漫画,漫画是图片形式的,下载下来后才发现每一张漫画图片的文件名都是没有规律且又长又复杂的,想要把它们改成按数字递增规律的,一个一个去改文件名工作量太大,浪费太多时间,于是心想用Python写一个脚本实现批量重命名的操作。

文件存放在 D:/temp 路径下,文件名类似上图,图片很多,这里仅用少部分做演示

为了完成脚本,查阅了Python有关文件名的库,发现需要用到Python标准库中的os库。

一、重命名函数

Python中有一个给文件重命名的函数:

os.rename(src, dst, *, src_dir_fd=None, dst_dir_fd=None)

该函数就是将文件名从src改为dst,后两个参数用不到先忽略。

二、获取文件名函数

我们还需要获取原文件名,也就是src。

os库中还有一个函数可以获取文件名:

os.listdir(path='.')

该函数可以列出某个目录下的所有文件名。

所有我们用一个for循环可以获取每一个文件名

for file in os.listdir(r'D:/temp'):

print(file)

输出:%80%90%E4%B8%89%E7%A7%8B%E4.jpg

%AE%E5%8B%92%E6%9E%81%E7%A6.jpg

%E6%B3%B0%E6%99%AE%E5%8B%92.jpg

%E8%A3%85%E5%85%E6%B3%B0%E6.jpg

三、路径合并函数

由于图片文件和Python脚本并不在同一文件夹下,所以此时的src和dst并不是简单的文件名,而是由路径+文件名组成。例如,文件%80%90%E4%B8%89%E7%A7%8B%E4.jpg其实是

E:/temp/%80%90%E4%B8%89%E7%A7%8B%E4.jpg,所以我们需要将两部分组合起来。

Python的os库中有一个函数:

os.path.join(path, *paths)

该函数合理地拼接一个或多个路径部分,返回值是 path 和 *paths 所有值的连接。

上面的例子就可以像下面这样写:

os.path.join(r'D:/temp','%80%90%E4%B8%89%E7%A7%8B%E4.jpg')

批量重命名脚本

# FilesBatchRename.py

# 导入os库

import os

# 图片存放的路径

path = r"D:/temp"

# 遍历更改文件名

num = 1

for file in os.listdir(path):

os.rename(os.path.join(path,file),os.path.join(path,str(num))+".jpg")

num = num + 1

运行一下,可以看到结果如下:

满足了我们的需求。

(正文完)

python递增文件名_Python实现批量重命名相关推荐

  1. python文件批量重命名以数字~n的方式重命名_Python实现批量重命名

    最近在网络上下载了一部漫画,漫画是图片形式的,下载下来后才发现每一张漫画图片的文件名都是没有规律且又长又复杂的,想要把它们改成按数字递增规律的,一个一个去改文件名工作量太大,浪费太多时间,于是心想用P ...

  2. 【python应用】 文件名称批量重命名工具

    [python应用] 文件名称批量重命名工具 1.背景 2.代码 3.打包 4.使用方法 5.资源 1.背景 参考[python应用] 视频捕获及保存工具 https://blog.csdn.net/ ...

  3. Python——制作深度学习数据集批量重命名图片文件名解决方案

    解决方案 #!usr/bin/env python # -*- coding:utf-8 _*- """ @version: 0.0.1 @author: ShenTuZ ...

  4. python文件批量改名_python文件批量重命名

    python文件批量重命名 代码如下: # -*- coding: gbk -*- import os class fileRename(): def __init__(self, path): se ...

  5. python改文件名_python实现批量修改文件名代码

    我曾以为,写脚本是很难的,直到我遇到了Python 前言随着国内版权意识的跟进,很多影视音乐资源开始收费,而且度盘又经常随意封杀各种资源,所以,为了保护资源,老司机们越来越倾向于把资源下载到本地,但随 ...

  6. 【笔记】python os的使用 文件批量重命名 批量移动文件 将png转jpg代码

    对于os的使用总是容易混淆,这里记录一下. print(os.listdir(os.path.join("C:/Users/pic"))) tagg = pandas.read_c ...

  7. python图片预处理基本操作之——批量重命名,修改格式,统一大小,保存为其他路径,灰度化,归一化并将BGR写入txt

    最近学习需要,接触了一些图片预处理的工作(用python实现),但网上集中的篇幅不多,故整理如下,主要包括: 批量重命名大量图片 修改格式(此处以.bmp转化为.jpg为例) 统一图片大小(分辨率12 ...

  8. python文件命名文件夹怎么删除_python文件批量重命名、删除文件夹

    第一次觉得用python整理数据真的很方便! 主要操作: 1.用文件内容重命名标注文件 2.合并独立文件夹中的文件,并删除原文件夹 3.将对应的标注文件移动到图片文件夹中 主要函数: os.listd ...

  9. Python实现批量重命名

    Python实现批量重命名 最近在网络上下载了一部漫画,漫画是图片形式的,下载下来后才发现每一张漫画图片的文件名都是没有规律且又长又复杂的,想要把它们改成按数字递增规律的,一个一个去改文件名工作量太大 ...

最新文章

  1. Python程序设计 第六章 函数(续
  2. oracle pl sql示例,oracle PL SQL学习案例(一)
  3. ecshop php5.4以上版本错误之preg_replace 替换成 preg_replace_callback
  4. Jquery EasyUI datagrid数据库分页
  5. mysql udf提权hex_Mysql_UDF提权
  6. redis 管理工具_「程序猿同事的分享」redis cluster管理工具redis-trib.rb详解
  7. ad20导出bom没有Value属性
  8. Stack Overflow 遭黑客入侵;中国首条 5G 覆盖地铁诞生;VS Code 1.34 发布!| 极客头条...
  9. JMeter简介及其安装
  10. ArrayList 和 HaspMap 链式添加的实现
  11. SQL:pgsql中查询某字段不等于的数据
  12. 基于stc15f2k60s2芯片单片机编程(按键控制)
  13. Stereoscopic Player播放器的控制
  14. Unity ToLua 使用教程
  15. 什么是PR、什么是BD?
  16. Linux下nginx宕机自动启动
  17. OPENSTACK-2-管理OSP内部通信-管理消息交换服务
  18. PHP Laravel框架 微信模板消息发送
  19. 次氯酸钠的工艺流程图是怎么样的,具体次氯酸钠发生器是怎么工作的呢?
  20. 17、STM8S通用同步异步收发器(UART)

热门文章

  1. RocketMq消息丢失问题解决
  2. Electron开发实战之记账软件15——崩溃报告
  3. 失去国产手机的支持,富士康业绩大幅下滑
  4. exe msdt 无法上网_电脑总是显示无网络?这五个办法可能会帮到你
  5. vivo vcl远程真机调试折叠屏使用教程
  6. A-Level是“最简单的”国际课程吗?
  7. 百趣代谢组学资讯:近视眼的“救星”是它吗?ω-3多不饱和脂肪酸
  8. proe计算机id,三种proe安装时主机ID查找方法
  9. BIGEMAP搭建使用
  10. 聊一聊置换检验Permutation test的原理