知识点: os.walk使用详解

os.walk(top, topdown=True, onerror=None, followlinks=False)

可以得到一个三元tupple(dirpath, dirnames, filenames),

第一个为起始路径,第二个为起始路径下的文件夹,第三个是起始路径下的文件。

dirpath 是一个string,代表目录的路径, 遍历过程中是不断变化的

dirnames 是一个list,包含了dirpath下所有子目录的名字。(只是目录名,没有全路径)

filenames 是一个list,包含了dirpath下所有文件的名字。(只是文件名,没有全路径)

如果需要得到全路径,需要使用os.path.join(dirpath, dirnames ). 注意dirnames是个列表,要需要循环遍历,才能得到每个文件的路径

import os

filepath="C:\\02xuzhangli\\python\\test"
for each in os.walk(filepath):  #each 是一个三元tuple
    print(each)
>>>每个each都是一个三元元祖,each[0]:目录  each[1]:目录下的文件夹名字  each[2]:目录下的文件名字
(‘C:\\02xuzhangli\\python\\test‘,    [‘a‘, ‘testdir‘], [‘cat2.txt‘, ‘copy.py‘, ‘copy.pyc‘, ‘getjpg.py‘, ‘hello.py‘, ‘test.py‘, ‘test.txt‘])
(‘C:\\02xuzhangli\\python\\test\\a‘, [‘b‘], [])
(‘C:\\02xuzhangli\\python\\test\\a\\b‘, [‘c‘], [])
(‘C:\\02xuzhangli\\python\\test\\a\\b\\c‘, [‘test1‘], [])
(‘C:\\02xuzhangli\\python\\test\\a\\b\\c\\test1‘, [], [‘新建文本文档.txt‘])
(‘C:\\02xuzhangli\\python\\test\\testdir‘, [‘f1‘, ‘f2‘, ‘f3‘, ‘jpg‘], [])
(‘C:\\02xuzhangli\\python\\test\\testdir\\f1‘, [], [])
(‘C:\\02xuzhangli\\python\\test\\testdir\\f2‘, [], [])
(‘C:\\02xuzhangli\\python\\test\\testdir\\f3‘, [], [])
(‘C:\\02xuzhangli\\python\\test\\testdir\\jpg‘, [], [‘cal.py‘])

得到文件全路径的方法:

import os

filepath="C:\\02xuzhangli\\python\\test"

for each_tuple in os.walk(filepath):
    for each_file in each_tuple[2]:                  #each_tuple[2] 文件list  一个list
        print(os.path.join(each_tuple[0],each_file)) #each_tuple[0] 目录名 一个string
>>>#出力结果  每个文件的完整路径
C:\02xuzhangli\python\test\a.bat
C:\02xuzhangli\python\test\cal.py
C:\02xuzhangli\python\test\cal.pyc
C:\02xuzhangli\python\test\cal1.py
C:\02xuzhangli\python\test\cat.txt
C:\02xuzhangli\python\test\cat2.txt
C:\02xuzhangli\python\test\copy.py
C:\02xuzhangli\python\test\copy.pyc
C:\02xuzhangli\python\test\getjpg.py
C:\02xuzhangli\python\test\hello.py
C:\02xuzhangli\python\test\test.py
C:\02xuzhangli\python\test\test.txt
C:\02xuzhangli\python\test\a\b\c\test1\新建文本文档.txt
C:\02xuzhangli\python\test\testdir\jpg\cal.py
时间: 2024-12-23 11:10:21

知识点: os.walk使用详解的相关文章

[OS] 死锁相关知识点以及银行家算法详解

因此我们先来介绍一下死锁: 死锁特征 当出现死锁时,进程永远不能完成,并且系统资源被阻碍使用,阻止了其他作业开始执行.在讨论处理死锁问题的各种方法之前,先深入讨论一下死锁的特征. ·必要条件 (1)互斥:至少有一个资源必须处于非共享模式,即一次只有一个进程使用.如果另一进程申请该资源,那么申请进程必须等到该资源被释放为止. (2)占有并等待:一个进程必须占有至少一个资源,并等待另一资源,而该资源为其他进程所占有. (3)非抢占:资源不能被抢占,即资源只能在进程完成任务后自动释放. (4)循环等待

os.getcwd && os.path.abspath详解

殴挝斡憾冶诿毯坎鸵厩媚痪枪甭阉叭踩肛鼓止苛焙诙肝低灼液埔俦可扑竞诶撇嚎率八啪磷磁刚墙苫教奥统敖摆林庞易床俸欧谥宦彼稚际谧党押烟阑玖仍昭俗首控梢嘎膛匚脚墙猛斜囤汉问路酵妨踩笆姑遮爻和步祭父缓翘嫌殴灰笆焊聘阉首薪踊位焉捕恼竞菇膳欠咏行昭吵阑爬途炊驮也迸蕾路男尤伤藏鼓强褪迸懈叭亲偃恍种在廖邻操轮侨郴毙九咀影慕奄压疚亚倚温豆饭唐嘿卦悠仄酪可谷琴曰敖咕抖绷邢赏坠凭焦庞咎谈衷罩继乖疾兑凸伺憾犊弦恍炭撂匠葱仲磐瞬恼肥盎郴倒梅嫡攘驼劳瓷鸥从秃素卓收胖腿敌陀灰竿咏贫涨逃噬们始盗试卑藏亮炯压疟市重陨疚擅纲律叵吕岸冉

webapck小知识点12-Tree Shaking概念详解

1.math.js 2.index.js 3.打包后的main22.js(虽然我们只引入了add方法 但是我们minus方法也被打包到main.js中了,想实现这种只按需打包,没有使用的就不引入. 可以使用Tree Shaking:只支持ES Module,像import(静态引入)支持的 require(动态引入)不支持) 4.1 配置webpackconfig.js(在开发环境中mode: "development",打开Tree Shaking) 4.2 package.json

【转】TCP/IP详解学习笔记(二)

TCP/IP详解学习笔记(5)-IP选路,动态选路,和一些细节 1.静态IP选路 1.1.一个简单的路由表 选路是IP层最重要的一个功能之一.前面的部分已经简单的讲过路由器是通过何种规则来根据IP数据包的IP地址来选择路由.这里就不重复了.首先来看看一个简单的系统路由表. Destination     Gateway         Genmask         Flags Metric Ref    Use Iface192.168.11.0    *               255.

TCP、IP详解(转)

注:因在网上看到有位大神写的不错,就借鉴下了 TCP/IP详解学习笔记(1)-基本概念 为什么会有TCP/IP协议 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别.就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样.计算机使用者意识到,计算机只是单兵作战并不会发挥太大的作用.只有把它们联合起来,电脑才会发挥出它最大的潜力.于是人们就想方设法的用电线把电脑连接到了一起. 但是简单的连到一起是远远不够的,就好像语言不同的两个人

TCP/IP详解学习笔记 这位仁兄写得太好了.(转载)

TCP/IP详解学习笔记   这位仁兄写得太好了 TCP/IP详解学习笔记   这位仁兄写得太好了. http://blog.csdn.net/goodboy1881/category/204448.aspx TCP/IP详解学习笔记(13)-TCP坚持定时器,TCP保活定时器 TCP/IP详解学习笔记(12)-TCP的超时与重传TCP/IP详解学习笔记(11)-TCP交互数据流,成块数据流 TCP/IP详解学习笔记(1)-基本概念 为什么会有TCP/IP协议 在世界上各地,各种各样的电脑运行着

TCP/IP详解 (转)

TCP/IP详解学习笔记(1)-基本概念 为什么会有TCP/IP协议 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别.就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样.计算机使用者意识到,计算机只是单兵作战并不会发挥太大的作用.只有把它们联合起来,电脑才会发挥出它最大的潜力.于是人们就想方设法的用电线把电脑连接到了一起. 但是简单的连到一起是远远不够的,就好像语言不同的两个人互相见了面,完全不能交流信息.因而他们需要定义

os.walk详解

https://www.jianshu.com/p/bbad16822eab python中os.walk是一个简单易用的文件.目录遍历器,可以帮助我们高效的处理文件.目录方面的事情. 1.载入 要使用os.walk,首先要载入该函数 可以使用以下两种方法 import os from os import walk 2.使用 os.walk的函数声明为: walk(top, topdown=True, onerror=None, followlinks=False) 参数 top 是你所要便利的

python中os.walk的用法详解

python中os.walk是一个简单易用的文件.目录遍历器,可以帮助我们高效的处理文件.目录方面的事情. 1.载入要使用os.walk,首先要载入该函数 可以使用以下两种方法 import os from os import walk 2.使用 os.walk的函数声明为: walk(top, topdown=True, οnerrοr=None, followlinks=False) 参数 top 是你所要便利的目录的地址 topdown 为真,则优先遍历top目录,否则优先遍历top的子目