2016-03-23 6 views
1

Это сбивает с толку! По какой-то причине os.walk говорит мне, что все, что у меня есть, это файловая структура, полная файлов .DS_Store, что неверно.os.walk считает, что моя директория содержит только файлы .DS_Store

alist = [] 

for root, directories, filenames in os.walk('/somedir/full/of/subdirs/and_PDFs'): 
    somelist.append(os.path.join(root,filename)) 

Итак, alist[0:5] дает мне образец:

['.DS_Store', 
'/somedir/full/of/subdirs/and_PDFs/0008/.DS_Store', 
'/somedir/full/of/subdirs/and_PDFs/0008/18/.DS_Store', 
'/somedir/full/of/subdirs/and_PDFs/0027/.DS_Store', 
'/somedir/full/of/subdirs/and_PDFs/0027/41/.DS_Store'] 

Я понятия не имею, почему os.walk думает, что все у меня есть .DS_Store файлы?

(Я должен также добавить, вся alist полна из них, а не только первые 5)

ответ

4

код использует filename (может быть определено ранее где-то в коде), не filenames. Вам нужно перебрать filenames, чтобы получить файлы (Iterate directories, также если вы хотите, чтобы также имена каталогов)

alist = [] 

for root, directories, filenames in os.walk('/somedir/full/of/subdirs/and_PDFs'): 
    for fn in filenames: 
     alist.append(os.path.join(root,fn)) 

 Смежные вопросы

  • Нет связанных вопросов^_^