python查询文件夹下文件os.walk()用法

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

  • top – 根目录下的每一个文件夹(包含它自己), 产生3-元组 (dirpath, dirnames, filenames)【文件夹路径, 文件夹名字, 文件名】。

  • topdown –可选,为True或者没有指定, 一个目录的的3-元组将比它的任何子文件夹的3-元组先产生 (目录自上而下)。如果topdown为 False, 一个目录的3-元组将比它的任何子文件夹的3-元组后产生 (目录自下而上)。

  • onerror – 可选,是一个函数; 它调用时有一个参数, 一个OSError实例。报告这错误后,继续walk,或者抛出exception终止walk。

  • followlinks – 设置为 true,则通过软链接访问目录。

遍历top给定的根目录下的所有文件夹,每个文件夹返回一个三元组(该文件夹路径,该文件夹下的文件夹名字,该文件夹下的文件名称(不包含文件夹))

返回文件夹路径

import os.path

INPUT_DATA = './flower_photo'

for x in os.walk(INPUT_DATA):
    print(x[0])

返回

./flower_photo
./flower_photo\daisy
./flower_photo\dandelion
./flower_photo\roses
./flower_photo\sunflowers
./flower_photo\tulips

返回文件夹下的文件夹

import os.path

INPUT_DATA = './flower_photo'

for x in os.walk(INPUT_DATA):
    print(x[1])

返回

['daisy', 'dandelion', 'roses', 'sunflowers', 'tulips']
[]
[]
[]
[]
[]

返回文件夹下的文件名

import os.path

INPUT_DATA = './flower_photo'

for x in os.walk(INPUT_DATA):
    print(x[2])

返回

['LICENSE.txt']
['5547758_eea9edfd54_n.jpg']
['7355522_b66e5d3078_m.jpg', '8181477_8cb77d2e0f_n.jpg']
['12240303_80d87f77a3_n.jpg', '22679076_bdb4c24401_m.jpg', '24781114_bc83aa811e_n.jpg']
['24459548_27a783feda.jpg', '24459750_eb49f6e4cb_m.jpg', '26254755_1bfc494ef1_n.jpg', '6953297_8576bf4ea3.jpg']
['10791227_7168491604.jpg', '11746080_963537acdc.jpg', '11746276_de3dec8201.jpg', '11746367_d23a35b085_n.jpg', '11746452_5bc1749a36.jpg']

猜你喜欢

转载自blog.csdn.net/weixin_37895339/article/details/79176964