os 模块完整详细信息
os.walk
os.walk方法主要用于遍历目录中的各个子目录和子文件。
os.walk(top, topdown=True, onerror=None, followlinks=False)
可以得到一个三元组(dirpath, dirnames, filenames),
第一个是起始路径,第二个是起始路径下的文件夹,第三个是起始路径下的文件。
dirpath是一个字符串,代表目录的路径,
dirnames是一个列表,包含dirpath下所有子目录的名称。
filenames 是包含非目录文件名称的列表。
这些名称不包含路径信息。如果需要获取完整路径,需要使用os.path.join(dirpath, name)。
通过for循环自动完成递归枚举
目录具有以下文件目录结构:
[root@xiaoma mcw]#树 。 ├── cur1.txt ├── cur2.txt ├── MCW │ ├── m1.txt │ └── m2.txt ├── 测试.py └── 小马 ├── x1.txt └── x2.txt 2 目录、7 文件
(1)
导入操作系统 结果 = os.walk("./") 打印(结果) ------------------ 结果: [root@xiaoma mcw]# python www.gsm-guard.net对象步行于0x7f0e90ad17d0>
(2) os.walk 是很多元组
导入操作系统 结果 = os.walk("./") 打印(结果) 对于 i 在结果: print(i) #i代表每个目录以及该目录下的文件名。 ---------------结果; [root@xiaoma mcw]# python www.gsm-guard.net ('./',['小马','mcw' ], ['www.gsm-guard.net','cur2.txt', 'cur1.txt ']) #当前目录当前目录下的目录,当前目录下的文件 ('./小马',[],['x1.txt', 'x2 .txt']) 子目录以及子目录中写入的文件 ('./mcw',[],['m2.txt', 'm1 .txt']) #代码分析:os.walk("./")第一个元组第一个元素是指定目录的名称,第二个元素是目录的名称当前目录。子目录,第三个元素是当前目录下的文件列表。 第二个元组的第一个元素是子目录的名称字符串;第二个元素是子目录的子目录,如果不是,则为空列表;第三个元素是该子目录中的文件列表。 第三个元组是当前目录下的另一个子目录。第一个元素是子目录的名称字符串;第二个元素是子目录的子目录。第三个元素是该子目录中的文件列表。
(3)a,正在查询的./目录下的单层目录
导入操作系统 结果 = os.walk("./") 对于 a,b,c 在 结果: print(a) #aall 目录------------------ 结果: [root@xiaoma mcw]# python www.gsm-guard.net ./ ./小马 ./mcw
4) b 表示该目录下各子目录的列表。如果子目录没有子目录,则会显示为空列表
导入操作系统 结果 = os.walk("./") 对于 a,b,c 在 结果: 打印(b) ---------------- 结果: [root@xiaoma mcw]# python www.gsm-guard.net ['xiaoma','mcw'] #查询目录./子目录下的理论 [] #小马目录下的子目录 []#mcw目录下的子目录
5) #c,代表各个目录下的文件列表
导入操作系统 结果 = os.walk("./") 对于 a,b,c 在 结果: print(c) #c,各个目录下的文件列表 ---------------- 结果: [root@xiaoma mcw]# python www.gsm-guard.net ['www.gsm-guard.net','cur2.txt', 'cur1.txt '] ['x1.txt','x2.txt'] ['M2.TXT'I,'M1.TXT'I]
6)遍历该目录下的所有文件,包括子目录下的文件
导入操作系统结果 = os.walk("./") 对于 a,b,c 在 结果: # a、正在查看的目录 b、该目录下的文件夹 c、该目录下的文件 用于 项目在 c: 路径 = os.path.join(a,item) # 打印(路径) ------------------ 结果: [root@xiaoma mcw]# python www.gsm-guard.net ./www.gsm-guard.net ./cur2.txt ./cur1.txt ./xiaoma/x1.txt ./xiaoma/x2.txt ./mcw/m2.txt ./mcw/m1.txt
7) 目录有3个以上
('./',['小马'、'mcw' ], ['www.gsm-guard.net','cur2.txt'》 、' cur1.txt']) ('./小马',[],['x1.txt', 'x2 .txt']) ('./mcw',['海子'],[ 'm2.txt', 'm1.txt']) ('./mcw/haizi',[],[])
参考:
1) https://www.gsm-guard.net/JetpropelledSnake/p/8982495.html