フォルダー内にあるファイルの数を知りたいです (特に、ここで違いが生じる場合は、Windows の共有ネットワーク フォルダー)。
私は今このコードを使用しています:
include os.path
def countFiles(path):
return len([f for f in os.listdir(path)
if os.path.isfile(os.path.join(path, f))])
フォルダにいくつかのファイルがある場合は問題なく動作しますが、多くのファイル (たとえば 4000) があるディレクトリでは著しく時間がかかります。私はこれを頻繁に実行しているため(ファイルは約15秒ごとに追加されています)、スローダウンは苦痛です.
私の特定のケースでは、サブフォルダーがないことがわかっているので、os.path.isfile
チェックをスキップできますが、ソリューションを一般的なものにしたいと思います。率直に言って、os.path に # of files 関数が組み込まれていないことに驚いています。