用Python遍历目录树
代码如下:
import os path = 'C:\\tmp\\2020-07-14' for folderName, subfolders, filenames in os.walk(path): print('The current folder is ' + folderName) for subfolder in subfolders: print('SUBFOLDER OF ' + folderName + ': ' + subfolder) for filename in filenames: print('FILE INSIDE ' + folderName + ': '+ filename) print('')
os.walk()函数被传入一个字符串值,即一个文件夹的路径。你可以在一个for循环语句中使用os.walk()函数,遍历目录树,就像使用range()函数遍历一个范围的数字一样。不像range(),os.walk()在循环的每次迭代中,返回3个值:
1.当前文件夹名称的字符串。
2.当前文件夹中子文件夹的字符串的列表。
3.当前文件夹中文件的字符串的列表。
所谓当前文件夹,是指for循环当前迭代的文件夹。程序的当前工作目录,不会因为os.walk()而改变。
就像你可以在代码for i in range(10):中选择变量名称i一样,你也可以选择前面列出来的3个字的变量名称。我通常使用foldername、subfolders和filenames。
因为os.walk()返回字符串的列表,保存在subfolder和filename变量中,所以你可以在它们自己的for循环中使用这些列表。用你自己定制的代码,取代print()函数调用(或者如果不需要,就删除for循环)。
参考资料
===============
《Python编程快速上手-让繁琐工作自动化》9.2 遍历目录树
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2019-07-15 记一次错误排查,主要问题是跨平台文件中换行符(CRLF, LF)和垃圾字符( Caret Notation)
2019-07-15 键盘上的符号的英文名称