本系列旨在通过一系列由浅入深的python实战代码或项目,使普通人也能感受到编程的乐趣,编程能够在平时的工作生活上有所帮助。欢迎查看系列的开篇词和前面的文章。
概述这是本系列的第六篇文章,使用python输出文件夹下文件路径和名称。
个人使用的应用场景是,微信文件增长较快,占用过多磁盘空间,如果直接删除整个文件夹,怕有些重要文件会丢失,所以先把文件名称加路径输出出来检查一下,重要文件保存到他处,剩余的就可以进行放心清理了。
本python代码除了输出文件夹下文件路径和名称,包括对子文件夹下的文件进行遍历输出,也可以对结果进行过滤,输出想要的文件类型。或者去除掉不想要的文件类型。
代码实现过程程序实现的流程是:
- 导入要使用的os和re包,都是自带包。os是文件处理包,re是正则包,用于匹配过滤字符。
- 创建一个TXT文件用于写入结果。
- 使用os带的方法遍历出文件夹下所有的文件名,文件路径等。根据需求过滤想要或者不想要的文件,然后将结果写入前面创建的TXT文件。
- 关闭文件。
具体详细代码如下,包含详细注释
# 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()
结果如下,挑选出自己想要长期保存的,剩下的可以放心删除了。
,