python文件批量重命名_Python批量重命名本地文件

有120张纸质文档,分为正反两面, 每个正面都有编号,从1-120. 需要正反两面全部拍照,然后重命名.

操作步骤:

手机qq打开'我的电脑'聊天界面

拍照,发送

本机登录qq,自动接收文件,保存到本机.

有两个问题:

由于文件的摆放问题,拍照是从编号120的文件开始的,最后拍到编号1的,一共240张图片

手机qq传给电脑qq的照片,被自动命名为15xxxxxx.jpg, 按拍照顺序,从小到大命名.(也就是说,文档编号越小的,拍照时间越晚,在电脑内此时命名越大)

6e0576777112

image.png

思路:

把所有图片放到数组f里,过滤文件名后面的'.jpg'字符

数组从大到小排序

由于最后拍照的是编号1文档的反面,也就是数组下标为0的应该命名为1b,数组下标为1的应该命名为1a, 以此类推,设置文件名初始值n=1, 在数组的偶数位命名+b,奇数位命名+a,每到一个奇数位,n+1.

脚本如下:

import os

import sys

path = ('./ttt/')

#获取该目录下所有文件,存入列表中

f =os.listdir(path)

print(len(f))

#删除.jpg后缀,只要文件名前13位数字

newarr = []

for i in f:

x = i[0:13]

newarr.append(x)

#文件名从大到小排序

newarr.sort(reverse=True)

n = 1

for i in range(len(newarr)):

oldname = path + newarr[i] +'.jpg'

#第0,2,4...偶数位是反面,命名+b , 奇数位是正面,命名+a

if i % 2 == 0 :

newname = path + str(n) + 'b' + '.jpg'

else:

newname = path + str(n) + 'a' + '.jpg'

n = n + 1

#用os模块中的rename方法对文件改名

os.rename(oldname,newname)

print(oldname,'======>',newname)

运行结果:

6e0576777112

image.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值