0

スクリプトは基本的に、すべてのディレクトリ内のすべてのファイルを含むリストを作成しています。いくつかのファイルよりも大きいディレクトリをスキャンする必要があるときに、なぜクラッシュするように見えるのか、何か考えはありますか?

import os

correctlyNamedDirectories = []

def crawlDirectories(directory):
    for dirname, dirnames, filenames in os.walk(directory):
        for subdirname in dirnames:
            correctlyNamedDirectories.append(os.path.join(dirname, subdirname))
        for filename in filenames:
            correctlyNamedDirectories.append(os.path.join(dirname, filename))

crawlDirectories('.')

print correctlyNamedDirectories

また、これを書くためのよりクリーンな方法はありますか?

4

1 に答える 1

1

リスト内包表記を使用したより短い方法:

correctlyNamedDirectories = [os.path.join(path, subname) for path, dirnames, filenames in os.walk(directory) for subname in dirnames + filenames]
于 2012-09-23T21:24:46.517 に答える