OS库-文件处理

写在前面

小编是刚学了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’,也欢迎大家前来交流哦。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容