栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python学习笔记-基础篇(19)-目录遍历

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python学习笔记-基础篇(19)-目录遍历

一,简介

遍历一个目录下所有的文件夹和文件是非常有用的事情,在python中os模块提供了非常简单易行的遍历方法os.walk(path)。

另外一定要了解的一点是,os.walk(path)遍历有点“广度优先”的意思,也就是说在上一个os.walk没执行完之前,再运行os.walk会等待。

二, 实例

先看代码,注意ShowPathInfo函数是对一个目录进行处理,对该目录下的文件夹同样会递归调用ShowPathInfo,注意 print("*****")输出的时机表明了os.walk等待执行的特点。

#目录的遍历

#导入os模块
import os

#获取目录信息
print("请输入目录信息")
dir=input()
while os.path.exists(dir)==False:
    print("目录不存在,请重新输入")
    dir=input()

#对一个目录的处理函数
def ShowPathInfo(path):
    print("*****")
    for folder,subFolders,files in os.walk(path):
 print("n==当前遍历目录:"+folder)
 for file in files:
     print("[文件]:"+file)
 for subFolder in subFolders:
     print("[文件夹]:"+subFolder)
     ShowPathInfo(subFolder)     

#主程序
print("==========遍历开始")
ShowPathInfo(dir)
print("==========遍历结束")

测试,根据****输出时机,看os.walk运行方式

请输入目录信息
C:Users
==========遍历开始
*****

==当前遍历目录:C:Users
[文件]:desktop.ini
[文件夹]:Administrator
*****
[文件夹]:All Users
*****
[文件夹]:Classic .NET AppPool
*****
[文件夹]:Default
*****
[文件夹]:Default User
*****
[文件夹]:DefaultAppPool
*****
[文件夹]:Public
*****

==当前遍历目录:C:UsersAdministrator
[文件]:.deliverycenter.installs
[文件]:.packettracer
[文件]:a.py
[文件]:mm.cfg
[文件]:NTUSER.DAT
[文件]:ntuser.dat.LOG1
[文件]:ntuser.dat.LOG2
[文件]:NTUSER.DAT{016888bd-6c6f-11de-8d1d-001e0bcde3ec}.TM.blf
[文件]:NTUSER.DAT{016888bd-6c6f-11de-8d1d-001e0bcde3ec}.TMContainer00000000000000000001.regtrans-ms
[文件]:NTUSER.DAT{016888bd-6c6f-11de-8d1d-001e0bcde3ec}.TMContainer00000000000000000002.regtrans-ms
[文件]:ntuser.ini
[文件]:ntuser.pol
[文件]:pdf.exe
[文件]:WebpageIcons.db
[文件夹]:.android
*****
[文件夹]:.eclipse
*****
[文件夹]:.idlerc
*****
[文件夹]:.IntelliJIdea2016.3
*****
[文件夹]:.m2
*****
[文件夹]:.p2
*****
[文件夹]:.VirtualBox
*****
[文件夹]:AppData
*****
[文件夹]:Application Data
*****
[文件夹]:Cisco Packet Tracer 6.0
转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号