侧边栏壁纸
博主头像
问道

问道的小花园,总能给你带来惊喜

  • 累计撰写 33 篇文章
  • 累计创建 22 个标签
  • 累计收到 3 条评论

python全项目实战系列(六):python输出文件夹下所有文件路径+名称

问道
2022-07-16 / 0 评论 / 0 点赞 / 168 阅读 / 1,131 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-07-16,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

本系列旨在通过一系列由浅入深的python实战代码或项目,使普通人也能感受到编程的乐趣,编程能够在平时的工作生活上有所帮助。欢迎查看系列的开篇词和前面文章。

概述

这是本系列的第六篇文章,使用python输出文件夹下文件路径和名称。

个人使用的应用场景是,微信文件增长较快,占用过多磁盘空间,如果直接删除整个文件夹,怕有些重要文件会丢失,所以先把文件名称加路径输出出来检查一下,重要文件保存到他处,剩余的就可以进行放心清理了。

本python代码除了输出文件夹下文件路径和名称,包括对子文件夹下的文件进行遍历输出,也可以对结果进行过滤,输出想要的文件类型。或者去除掉不想要的文件类型。

代码实现过程

程序实现流程是:

  1. 导入要使用的os和re包,都是自带包。os是文件处理包,re是正则包,用于匹配过滤字符。
  2. 创建一个TXT文件用于写入结果。
  3. 使用os带的方法遍历出文件夹下所有的文件名,文件路径等。根据需求过滤想要或者不想要的文件,然后将结果写入前面创建的TXT文件。
  4. 关闭文件。

具体详细代码如下,包含详细注释

# coding:utf-8
import os
import re
'''
os.walk()可以遍历文件夹中的所有子文件夹及子文件, walk函数返回一个元组(dirpath, dirnames, filenames)
dirpath是文件夹路径
dirnames是文件夹名称
filenames是文件名称
'''
#打开一个文件,没有可新建,将'C:\\Users\\zengz\\Desktop\\wechatFile.txt'替换为自己的文件路径
file = open('C:\\Users\\zengz\\Desktop\\wechatFile.txt',mode='w+',encoding='utf-8')
#通过for遍历文件夹下的所有文件,将'C:\\Users\zengz\\Documents\\WeChat Files\\'替换为你需要的查找的文件夹
for dirpath, dirnames, filenames in os.walk('C:\\Users\zengz\\Documents\\WeChat Files\\'):
    for filename in filenames:
        #通过正则查找后缀为.dat的文件,后面的处理逻辑是跳过后缀为.dat的文件,根据实际情况修改
        find = re.search('.dat',filename)
        if find:
            pass
        else:
            #将想要的文件结果写入txt,并换行
            file.write(os.path.join(dirpath, filename)+"\n")
file.close()

结果如下,挑选出自己想要长期保存的,剩下的可以放心删除了。

0

评论区