質問: 私は、Pythonで特定のHFS +ドライブ上のファイル数を(素早く)検索する方法を見つけようとしています。 私はos.statvfsなどで遊んでいますが、何も得られません。 アイデア? **編集:**もう少し具体的にしましょう。 =] 私はさまざまな理由でrsyncの周りにタイムマシーンのようなラッパーを書いていますが、rsyncがスキャンしようとしているドライブ上のファイル数の見積もりが非常に速い(完璧である必要はありません)。こうすることで、最初のファイルリストが作成されてrsync(`rsync -ax --progress`、または`-P`オプションのように呼び出された場合)から進捗状況を見ることができ、割合やETAをユーザーに報告することができます。 これは実際のバックアップとは完全に分離されており、進捗状況の追跡は問題ありません。しかし、私が数百万のファイルで作業しているドライブでは、ファイル数のカウンタが数分間上限に達していないことをユーザーが見ていることを意味します。 これまでの回答の1つに記載されているメソッドとまったく同じos.statvfsを試してみましたが、結果は意味をなさないものです。 ``` >>> import os >>> os.statvfs('/').f_files - os.statvfs('/').f_ffree 64171205L ``` よりポータブルな方法は、rsyncを実行し、その準備を含め、私はこのマシン上で見てきた他のすべての指標と同じで、このマシン上で私の周りに110万を与える: ``` >>> sum(len(filenames) for path, dirnames, filenames in os.walk("/")) 1084224 ``` 。なお、最初の方法は瞬間的なものですが、2番目の方法は15分後に更新されるようになりました。 この番号を取得するのと同様の方法を知っている人はいますか、os.statvfsの番号をどのように扱い/解釈しているのですか?
回答: 編集:スポットライトは、すべてのファイルを追跡していないので、そのメタデータが十分ではありません。