2017-05-26 16 views
0

OSXでpython 3.5を使用 '/ Users/abs/Desktop/data'に5つのサブフォルダがあり、すべてのサブフォルダを表示しようとしています。 [ERRNO 20]ないディレクトリ::「/Users/abs/Desktop/data/.DS_Store」 私はこの問題を解決するにはどうすればよいpython/os.listdir/reading subfodlers

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)) 

答えて

0

は例外を発生させるエントリをスキップ:しかし、私はエラーNotADirectoryErrorを得ました

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 
0

深さが固定されている場合は、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) 
0

データセットがディレクトリであるかどうかをチェックすることができます。

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))