有120张纸质文档,分为正反两面, 每个正面都有编号,从1-120. 需要正反两面全部拍照,然后重命名.
操作步骤:
- 手机qq打开'我的电脑'聊天界面
- 拍照,发送
- 本机登录qq,自动接收文件,保存到本机.
有两个问题:
- 由于文件的摆放问题,拍照是从编号120的文件开始的,最后拍到编号1的,一共240张图片
- 手机qq传给电脑qq的照片,被自动命名为15xxxxxx.jpg, 按拍照顺序,从小到大命名.(也就是说,文档编号越小的,拍照时间越晚,在电脑内此时命名越大) 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)
网友评论