用Python遍历目录树

Posted 中道学友

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用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 遍历目录树





以上是关于用Python遍历目录树的主要内容,如果未能解决你的问题,请参考以下文章

python Python:遍历特定文件夹名称的目录树

python GUI编程tkinter示例之目录树遍历工具

java 目录树:用JTree实现d盘的目录树?java高手进

小白专场-是否同一颗二叉搜索树-python语言实现

JAVA目录树

如果Google面试让你用python写一个树的遍历程序