1. ホーム
  2. python

[解決済み] os.listdir()を使って隠しファイルを無視するには?

2022-11-16 12:40:20

質問

私の python スクリプトは os.listdir(path) ここで、パスは私が一つずつ処理する必要があるアーカイブを含むキューです。

問題は、リストを配列で取得し、それを単純に array.pop(0) . プロジェクトをsubversionに置くまではうまくいっていました。今は .svn フォルダが配列に含まれ、もちろんそれは私のアプリケーションをクラッシュさせます。

そこで質問です。 os.listdir() を実行する際に隠しファイルを無視する機能はありますか?

どのように解決するのですか?

自分で書くことができます。

import os

def listdir_nohidden(path):
    for f in os.listdir(path):
        if not f.startswith('.'):
            yield f

あるいは グロブ :

import glob
import os

def listdir_nohidden(path):
    return glob.glob(os.path.join(path, '*'))

で始まるファイル名はすべて無視されます。 '.' .