写在前面
小编是刚学了Python基础的程序员,励志要开发一个文件处理的小程序。之前整理了Python库简介,今天来开始第一弹,OS库之文件处理。
之前看到这样一个需求
- 给多个文件重命名
- 给重名后的文件加序号
如何用python解决这一问题?我想到了os标准库,想到了re,也可能用不到。琢磨这个问题,上午先复习了OS标准库的知识,
屏幕截图 2021-08-27 162933.jpg
然后下午开始动手实践,找了一些素材,自己定义了一些要求。
屏幕截图 2021-08-27 161858.jpg
-将四张图片重命名为图片1-4
-最后为除文件夹外的8个文件前标序1-8
-不对文件夹进行操作
接下来便是编写过程了
1.os是python自带标准库,直接导入即可。
import os
2.接着获取文件夹路径,及其中内容。
dir1 = os.path.abspath('./study') # 获取所处理文件夹的绝对路径,以个人电脑为准
ld = os.listdir(dir1) # 获取文件夹内容,以列表形式输出
print(ld)
3.采用for循环遍历,找出图片并重命名。
num1 = 1
for i in ld:
if i.endswith(('jpg', 'jpeg', 'png')): # 判断文件结尾,以确定是否是图片
os.rename(os.path.join(dir1, i),os.path.join(dir1, '图片' + str(num1) + '.jpg'))
# 改图片名字
num1 += 1
new_ld = os.listdir(dir1) # 图片处理后的文件夹列表
4.接着使用for循环,对图片更改后的文件进行排序,但是要求不对文件夹进行操作,所以先判断是否是文件,True则进行重命名。
num2 = 1
for n in new_ld:
if os.path.isfile(os.path.join(dir1, n)): # 去掉文件夹
os.rename(os.path.join(dir1, n), os.path.join(dir1, str(num2) + '.' + n)) # 加序号
num2 += 1
end_ld = os.listdir(dir1)
print(end_ld)
5.这样通过打印最终修改后的文件夹目录,就可以看到想要的结果。
屏幕截图 2021-08-28 072624.jpg
写在结尾
今天的工作就是这些,对于一些大佬来说都是基础的操作,不过小编自己觉得学到了许多知识,总之收获满满。在这里贴上自己的微信订阅号【Python编程札记】,想要获取项目素材及源代码的朋友可以后台回复‘001’,也欢迎大家前来交流哦。