1、列出当前目录下的文件和目录
通过以下代码能列出当前目录下的文件和目录:
但如果还想把子目录中的文件显示出来,则可以遍历目录。
2、遍历目录
遍历在汉语中的意思是全部走遍,到处周游。在Python
中,遍历是将指定的目录下的全部目录(包括子目录)及文件访问一遍。在Python
中,os
模块的walk()
函数用于实现遍历目录的功能。walk()
函数的基本语法格式如下:
os.walk(top[, topdown][, onerror][, followlinks])
参数说明:
top
:用于指定要遍历内容的根目录。topdown
:可选参数,用于指定遍历的顺序,如果值为True
,表示自上而下遍历(即先遍历根目录);如果值为False
,表示自下而上遍历(即先遍历最后一级子目录)。默认值为True
。onerror
:可选参数,用于指定错误处理方式,默认为忽略,如果不想忽略也可以指定一个错误处理函数。通常情况下采用默认设置。followlinks
:可选参数,默认情况下,walk()
函数不会向下转换成解析到目录的符号链接,将该参数值设置为True
,表示用于指定在支持的系统上访问由符号链接指向的目录。- 返回值:返回一个包括
3
个元素(dirpath, dirnames,filenames)
的元组生成器对象。其中,dirpath
表示当前遍历的路径,是一个字符串;dirnames
表示当前路径下包含的子目录,是一个列表;filenames
表示当前路径下包含的文件,也是一个列表。
例如,要遍历指定目录“F:\program\Python\Code\01
”,可以使用下面的代码:
import os # 导入os模块
tuples = os.walk("F:\\program\\Python\\Code\\01") # 遍历"F:\program\Python\Code\01"目录
for tuple1 in tuples: # 通过for循环输出遍历结果
print(tuple1 ,"\n") # 输出每一级目录的元组
如果在“F:\program\Python\Code\01
”目录下包括如图1所示的内容,
执行上面的代码,将显示如图2所示的结果。
另一个示例:
注意:walk()
函数只在Unix
系统和Windows
系统中有效。
图2得到的结果比较混乱,下面通过一个具体的实例演示实现遍历目录时,输出目录或文件的完整路径。