python(遍历的是路径文件函数)「python 遍历路径」

os.walk 遍历感觉现在是智力和精力都不行了,就这一个遍历函数提取某个路径下的所有文件,花费了我2个多小时
手机的评论我都没看,一般都是评论过去几个小时,或者第二天我才会看一下
正如一个网友给我的评论,自学真的是太难,太痛苦;一个小小的符号,一个表达式,你要是没有搞明白,能够折腾你几个小时
如果有一个高手给你指点一下,那也就是分分钟的事
今天我在看一个os相关的函数,其实昨天都开始看了,一开始讲解的是for循环遍历某个路径下的所有文件,然后计算所有文件的大小
这个我看明白了,不是很难,我截个图:import os# 不知道自己的路径或者懒省事,可以get获取一下#os.getcwd#获取到的路径我粘贴下面path='C:/Users/yanjshen/PycharmProjects/pythonProject1/venv/dns/dns'#获取这个路径下有那些文件 ['New Text Document 2.txt', 'New Text Document.txt']listfile=os.listdir(path)#先给字节大小size赋值为0size=0# for 循环遍历每一个文件for file in listfile: #利用join函数把遍历到的文件,设置为完整的绝对路径#C:/Users/yanjshen/PycharmProjects/pythonProject1/venv/dns/dns\New Text Document 2.txt #C:/Users/yanjshen/PycharmProjects/pythonProject1/venv/dns/dns\New Text Document.txtnewpath=os.path.join(path,file)size+=os.path.getsize(newpath)print(size)现在有个问题,这是这个路径下的文件只有两个,如果这个路径下还有文件夹怎么办?我画个草图,类似下面,文件夹套文件夹,俄罗斯套娃,一套接一套
这个我看了个视频讲解,没有看明白,我网上搜了搜,找不到类似的讲解
一般来说,一个遍历函数,我会找3-4个不同的老师讲解视频去理解他
但是类似这个讲解我没有找到
我找到了一个os.walk函数,听了一下,自己敲了敲代码,问题解决了
os.walk的函数声明为:每次遍历的对象都是返回的是一个三元组root,dirs,filesroot 所指的是当前正在遍历的这个文件夹的本身的地址dirs 是一个 list ,内容是该文件夹中所有的目录的名字不包括子目录files 同样是 list , 内容是该文件夹中所有的文件不包括子目录我再最后再贴一张图片,分别演示一下,打印出来root,dirs,files的三种情形size = 0 path=r'C:\Users\yanjshen\PycharmProjects\pythonProject1\venv\Scripts' for (root,dirs,files) in os.walk(path): for i in files: #print(i) newfile=os.path.join(root,i) #print(newfile) size+=os.path.getsize(newfile) print(size)最后这个其实不用os.wark,采用for遍历的方法也可以,我还没有看明白,我明天再找找别人讲解的视频.目前看,采用os.wark确实挺爽,学会了(1+99)50/2 你再也不想从1加到100了th.getsize(newfile) print(size)最后这个其实不用os.wark,采用for遍历的方法也可以,我还没有看明白,我明天再找找别人讲解的视频.目前看,采用os.wark确实挺爽,学会了(1+99)50/2 你再也不想从1加到100了
python(遍历的是路径文件函数)
(图片来源网络,侵删)

联系我们

在线咨询:点击这里给我发消息