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ファイルであると考える理由はわかりませんか?

答えて

4

コード、filename(多分コードで前にどこかで定義された)filenamesをいない使用している(私も追加する必要があり、全体alistだけではなく最初の5は、これらのいっぱいです)。ファイルを取得するには、filenamesを反復する必要があります(ディレクトリ名も必要な場合は、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)) 
関連する問題