批量、有顺序的更改档名-python

博主分享了使用Python批量更改文件名的经验,主要针对按年份顺序并以12345...方式命名的场景。通过os库实现,代码中包含对文件排序和新旧名称对照的处理,旨在帮助初学者理解自动化重复任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开始前的碎念

我还算是python的小白,对于程序的编写还在努力的学习中,从CSDN各个博文中得到了许多帮助与知识(由衷的感谢),因此自己完成了一小部份的成果后,我决定通过博文纪录我的学习笔记,也算是对于学习的一种负责,希望借此方式能够重整思路,因为有时候会卡在一个点很久,找了中外的许多网站才解决了困惑。所以我会尽量的完整纪录我的思路与困惑的点在文中,跟我一样困惑的小伙伴们就能减少迷茫的时间了,快速的走向下一步的科研哈!

问题描述

由于在整理文件时,需要将文件依照档名进行初步的分类,因此,在网上搜寻了很多更改档名的办法。但因为自己需要的更名方式是为需要按档案的年份来命名,并且依次12345…的命名方式(举例来说:2017-1、2017-2、2017-3等的新名称),所以利用了一些for loop帮助我实现。

代码实现

实现的python套件包是为os,有很多涉及处理文件存储、命名、读取等的行为都会需要os套件(这是基本的粗浅了解,以后有更深的体会会再补充说明白的~)

// 导进需要的套件包绝对是第一步
import os
path='存储的路径' #这就是欲进行档名更改的文件路径,路径的斜线是为/,要留意下!
files=os.listdir(path)
print('files') #印出读取到的文件名称,用来确认自己是不是真的有读到

n=0 #设定初始值
for i in files: #因为文件夹里面的文件都要重新更换名称
	oldname=path+files[n] #指出文件现在的路径名称,[n]表示第n个文件
	newname=path+'2017-'+str(n+1)+
Python中,可以使用PIL(Python Imaging Library)或者其更现代的替代品Pillow库来处理图像文件,并结合os模块进行目录操作。批量修改图片名称通常是通过遍历指定目录下的所有图片,然后按照某种规则(如数字、日期等)对新的命名进行替换。 以下是一个简单的示例,假设你想要将一个目录(例如`images/`)下的图片从原始名改为连续的数字命名: ```python import os import re # 指定图片所在的目录 dir_path = 'images/' # 获取该目录下的所有图片文件 image_files = [f for f in os.listdir(dir_path) if os.path.isfile(os.path.join(dir_path, f)) and f.endswith('.jpg') or f.endswith('.png')] # 可视化地添加图片格式检查 # 对图片文件进行排序 sorted_files = sorted(image_files, key=lambda x: int(re.sub(r'\D', '', x))) # 新建一个用于保存新文件名的列表 new_names = [] # 修改文件名并移动文件 for i, old_file in enumerate(sorted_files): new_name = str(i+1).zfill(4) + '.' + old_file.split('.')[-1] # 四位数补零,保留原文件扩展名 os.rename(os.path.join(dir_path, old_file), os.path.join(dir_path, new_name)) new_names.append(new_name) # 显示处理后的文件名 print("图片文件已重命名为:", new_names) ``` 在这个例子中,我们首先获取了图片目录下的所有.jpg和.png文件,然后根据文件名中的数字对它们进行排序。接着,我们将每个文件的旧名字替换为一个新的序列号形式,最后进行重命名。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值