使用python批量重命名文件夹中的文件

news/2024/11/25 20:38:11/

目录

一、前言

二、Python重命名文件的方法

三、Python重命名文件夹内的所有图片

四、Python重命名文件夹内的所有图片并按照顺序排序

五、总结


一、前言

在日常工作中,我们经常需要对文件进行重命名,比如将一些图片按照顺序重命名,方便我们进行管理和查找。如果手动一个一个重命名,那么工作量就会非常大,效率也很低。因此,我们可以使用Python来实现对文件的批量重命名,提高工作效率。

本篇博客将介绍如何使用Python对一个文件夹内的所有图片进行重命名,并按照顺序排序。

二、Python重命名文件的方法

在Python中,我们可以使用os模块中的rename()函数来实现对文件的重命名。rename()函数的语法如下:

os.rename(src, dst)

其中,src表示原文件名,dst表示新文件名。下面是一个简单的示例:

import osos.rename('old.txt', 'new.txt')

这段代码将文件名为old.txt的文件重命名为new.txt。

三、Python重命名文件夹内的所有图片

接下来,我们将介绍如何使用Python对一个文件夹内的所有图片进行重命名。首先,我们需要使用os模块中的listdir()函数来获取文件夹内的所有文件名,然后使用os.path.splitext()函数来获取文件的扩展名,最后使用os.rename()函数来对文件进行重命名。下面是示例代码:

import osfolder_path = 'path/to/folder'# 获取文件夹内的所有文件名
file_names = os.listdir(folder_path)# 遍历文件夹内的所有文件
for i, file_name in enumerate(file_names):# 获取文件的扩展名ext = os.path.splitext(file_name)[1]# 如果文件是图片if ext in ['.jpg', '.jpeg', '.png', '.bmp']:# 构造新的文件名new_file_name = '{:03d}{}'.format(i, ext)# 对文件进行重命名os.rename(os.path.join(folder_path, file_name), os.path.join(folder_path, new_file_name))

这段代码将文件夹内的所有图片重命名为000.jpg、001.jpg、002.jpg等。

四、Python重命名文件夹内的所有图片并按照顺序排序

上面的代码虽然可以对文件夹内的所有图片进行重命名,但是它们的顺序是随机的。如果我们想要按照顺序对图片进行重命名,该怎么办呢?这里我们可以使用Python中的sorted()函数来对文件名进行排序。下面是示例代码:

import osfolder_path = 'path/to/folder'# 获取文件夹内的所有文件名
file_names = os.listdir(folder_path)# 对文件名进行排序
file_names = sorted(file_names)# 遍历文件夹内的所有文件
for i, file_name in enumerate(file_names):# 获取文件的扩展名ext = os.path.splitext(file_name)[1]# 如果文件是图片if ext in ['.jpg', '.jpeg', '.png', '.bmp']:# 构造新的文件名new_file_name = '{:03d}{}'.format(i, ext)# 对文件进行重命名os.rename(os.path.join(folder_path, file_name), os.path.join(folder_path, new_file_name))

这段代码将文件夹内的所有图片按照顺序重命名为000.jpg、001.jpg、002.jpg等。

五、总结

本篇博客介绍了如何使用Python对一个文件夹内的所有图片进行重命名,并按照顺序排序。通过使用Python,我们可以快速地对文件进行批量重命名,提高工作效率。希望本篇博客对大家有所帮助。


http://www.ppmy.cn/news/94636.html

相关文章

window 利用Qt-windeployqt打包exe程序 一个简单的实例

用一个简单的实例展示下window 如何使用QT-windeployqt打包exe程序使得其可以在别的电脑上运行 一、release模式获得exe可执行文件 新建一个QT项目 构建选择使用CMake base class选择QMainWindow Kit Selection一定要注意,我选的是MinGW 32-bit UI设计 mainwindow.…

Qt, Text Edit 和 Plain Text Edit关于调整字体样式的问题

问题: 在编写小案例的过程中需要使用一个文本容器用于显示文本效果, 因为涉及文本字体的 加粗, 倾斜, 下划线, 以及颜色效果, 这里使用了 Text Edit 组件, 但是使用后发现容器中的文本无法实现同时设置 加粗 倾斜 下划线的情况, 且单独设置时只有 下划线 有效果, 加粗 倾斜 均无…

Systrace系列12 —— CPU Info 解读

本文主要是对 Systrace 中的 CPU 信息区域(Kernel)进行简单介绍,简单介绍了如何在 Systrace 中查看 Kernel 模块输出的 CPU 相关的信息,了解 CPU 频率、调度、锁频、锁核相关的信息。 CPU 区域图例 下面是高通骁龙 845 手机 Systrace 对应的 Kernel 中的 CPU Info 区域(底下…

【树上差分+LCA】篮球杯 砍树

省赛的题现在来补 感觉什么都不会,已经要没了 题意: 思路: 考虑一条边,两端有两棵子树 有这样的性质: 这条边两端的结点的经过次数M 因此每加一个点对,都对其路径1 s[u]M时,与该点连着的…

一文会用断码屏

断码屏的使用 1、断码屏显示文字原理 我理解应该是偏压原理达到显示效果的。 LCD驱动分为A型、B型,如果LCD偏压类型为C型,固定为 1/3 偏压。 由数据手册得知,以下: LCD 驱动器提供的 COM 和 SEG 输出数目,以及偏压…

【C++】命名空间

1. 由来 命名空间时怎么来的?它又是什么,让我们一起来看一下吧 首先了解:在同一个域中不能同时出现重名的变量或函数名等(不同域中可以尽管是全局与局部域) ok 我们来看 在工程项目里,一开始用 C语言 开…

linux系统安装rabbimtMq

如果需要面板访问开放端口 1、安装 Erlang 环境 因为 rabbitmq 是使用 Erlang 语言开发的,所以说 rabbitmq 是在 Erlang 环境上运行的。 yum -y install erlang 2、安装 rabbitmq 及依赖 yum -y install socat logrotate initscripts rabbitmq-server 现在已经可…

Unix/C/C++进阶--pthread 跨平台

pthread 跨平台 1 pthread 介绍1.1 简介1.2 数据类型1.3 函数1.4 Windows下,pthread库支持的一些主要函数 2 库文件2.1 libwinpthread-1.dll(mingw)2.2 pthreadVC2.dll(微软?) 3 调用 libwinpthread-1.dll参…