Python批量重命名本地文件

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


操作步骤:
  1. 手机qq打开'我的电脑'聊天界面
  2. 拍照,发送
  3. 本机登录qq,自动接收文件,保存到本机.

有两个问题:
  1. 由于文件的摆放问题,拍照是从编号120的文件开始的,最后拍到编号1的,一共240张图片
  2. image.png

思路:
  1. 把所有图片放到数组f里,过滤文件名后面的'.jpg'字符
  2. 数组从大到小排序
  3. 由于最后拍照的是编号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)

运行结果:
image.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值