os.walk()主要用来扫描某个指定目录下所包含的子目录和文件。这篇文章将通过几个简单的例子来说明python中os.walk()的使用方法。
假设我们的test文件夹有如下的目录结构:
我们首先用os.walk扫描test文件夹下所有的子目录和文件:
# 使用os.walk扫描目录
import osfor curDir, dirs, files in os.walk("test"):print("====================")print("现在的目录:" + curDir)print("该目录下包含的子目录:" + str(dirs))print("该目录下包含的文件:" + str(files))
输出结果:
上面的代码在扫描子目录和文件的时候,是采用自顶向下的方式进行扫描。如果想要自底向上地扫描子目录和文件,可以添加上topdown=False参数:
# 使用os.walk自底向上扫描目录
import osfor curDir, dirs, files in os.walk("test", topdown=False):print("====================")print("现在的目录:" + curDir)print("该目录下包含的子目录:" + str(dirs))print("该目录下包含的文件:" + str(files))
输出结果:
我们还可以利用os.walk输出test文件夹下所有的文件:
# 使用os.walk输出某个目录下的所有文件
import osfor curDir, dirs, files in os.walk("test"):for file in files:print(os.path.join(curDir, file))
输出结果:
也可以利用os.walk输出test文件夹下指定后缀名(比如.txt)文件:
# 使用os.walk输出某个特定后缀(比如.txt)的文件
import osfor curDir, dirs, files in os.walk("test"):for file in files:if file.endswith(".txt"):print(os.path.join(curDir, file))
输出结果:
同样地,我们也可以利用os.walk输出test文件夹下所有的子目录(子文件夹):
# 使用os.walk输出所有的目录
import osfor curDir, dirs, files in os.walk("test"):for dir in dirs:print(dir)
输出结果:
以上便是本篇文章的所有内容。