2016-05-02 12 views
0

私はソースコードを見ました。 glob.globは、os.listdirfnmatchを使用してファイルパスをフィルタします。 os.path.isfileはファイルの状態を取得しようとします。しかし、os.listdirのソースコードが見つかりませんでした。どのように実装されているのか分かりません。os.path.isfileはglob.globより速いですか?

os.listdirはすべてリストするのに時間がかかりますので、ファイルが存在するかどうかを確認するときは、glob.globよりもはるかに高速です(os.path.isfile)。

答えて

1

glob.glob('./')は、コマンドラインではls *を実行します。 os.path.isfileは動作させるために特定のファイルハンドルを必要とします。これは通常、globより高速です。単純な操作が少なく、globがブール値を返さないためです。ここではグロブと私の作業ディレクトリ

にタイミングを合わせたサンプルは以下のとおりです。enter image description here

LISTDIRで:enter image description here

関連する問題