无论在 Windows 系统中还是 Linux 系统中,都存在着隐藏文件以及隐藏文件夹。隐藏文件夹一般是系统关键性目录,例如 Windows 系统中的 C 盘中的
Boot 文件夹
、
Windows 文件夹
等。在 Linux 系统中,一些系统配置文件或软件配置文件会被隐藏起来,如:系统环境变量配置文件
.profile
。有些时候,我们必须通过文件路径来遍历整个目录,然后找到隐藏文件。本文的主要内容是给大家分享 Python 三种遍历文件的方法。
01
简单暴力法-递归
假设在 E 盘中,有个名为“Python”的文件夹;该文件夹中也有两个文件夹,分别是“A”和“B”;另外,在“A”文件夹中还有一个 “results.txt” 的文本文件。因此,“Python”文件夹的文件结构如下:
# -*- coding: UTF-8 -*-
import os
# 递归遍历目录
def traversal_files(path):
for dir in os.listdir(path):
dir = os.path.join(path, dir)
print(dir)
# 判断当前目录是否为文件夹
if os.path.isdir(dir):
traversal_files(dir)
if __name__ == '__main__':
path = '.'
traversal_files(path)
第二个参数是
topdown
,它是一个可选参数。当它的值为 True 时,则优先遍历 path 目录,否则优先遍历 top 的子目录(默认为开启)。
因此,使用
os.walk
遍历文件夹,找出隐藏文件的代码如下所示。
# -*- coding: UTF-8 -*-
import os
def traversal_files(path):
for root, dirs, files in os.walk(path, topdown=False):
for name in files:
print(os.path.join(root, name))
for name in dirs:
print(os.path.join(root, name))
if __name__ == '__main__':
path = '.'
traversal_files(path)