繁体   English   中英

python / os.listdir /阅读subfodlers

[英]python / os.listdir/ reading subfodlers

在OSX上使用python 3.5在'/ Users / abs / Desktop / data'中有5个子文件夹,我正在尝试查找所有子文件夹。 但是我收到一个错误NotADirectoryError:[Errno 20]不是目录:'/Users/abs/Desktop/data/.DS_Store'如何解决此问题

data_path = '/Users/abs/Desktop/data'
data_dir_list = os.listdir(data_path)

for dataset in data_dir_list:
    img_list=os.listdir(data_path+'/'+dataset)
    print ('Loaded the images of dataset-'+'{}\n'.format(dataset))

跳过引发异常的条目:

import os
data_path = '/Users/abs/Desktop/data'
data_dir_list = os.listdir(data_path)

for dataset in data_dir_list:
    try:
        img_list=os.listdir(data_path+'/'+dataset)
        print ('Loaded the images of dataset-'+'{}\n'.format(dataset))
    except NotADirectoryError:
        pass

如果深度是固定的,那么glob是一个好主意:

import glob,os.path
fd3 = glob.glob('/Users/abs/Desktop/data/*/*/*')
dd3 = filter(lambda f: os.path.isdir(f), fd3)
for f in dd3:
    print(f)

您可以检查数据集是否为目录。

data_path = '/Users/abs/Desktop/data'
data_dir_list = os.listdir(data_path)

for dataset in data_dir_list:
    if os.path.isdir(os.path.join(data_path, dataset): # <-- if it is a directory
        img_list=os.listdir(data_path+'/'+dataset)
        print ('Loaded the images of dataset-'+'{}\n'.format(dataset))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM