GNU/Linux >> Linux の 問題 >  >> Linux

Linux の glob() で大文字と小文字を区別しない

経由で、各アルファベット文字 c を [cC] に置き換えることができます。
import glob
def insensitive_glob(pattern):
    def either(c):
        return '[%s%s]' % (c.lower(), c.upper()) if c.isalpha() else c
    return glob.glob(''.join(map(either, pattern)))

glob パターンの代わりに、大文字と小文字を区別しない正規表現を使用します。 fnmatch.translate glob パターンから正規表現を生成するため、

re.compile(fnmatch.translate(pattern), re.IGNORECASE)

glob パターンの大文字と小文字を区別しないバージョンをコンパイル済み RE として提供します。

ファイルシステムが Unix ライクなファイルシステム上の Linux ボックスによってホストされている場合、ユーザーは foo ファイルを作成できることに注意してください。 、 Foo そして FOO 同じディレクトリにあります。


Linux
  1. Linuxでのcronの4つの代替手段

  2. Linuxユーザーとは何ですか?

  3. Linux –異なるLinux / UNIXカーネルは交換可能ですか?

  1. Linux +スペースのあるファイルを無視(フィルター)する方法は?

  2. Linux bash、ダッシュで区切るキャメルケース文字列

  3. Linux での MySQL の大文字と小文字を区別するテーブル名

  1. 再帰的なグロブ?

  2. Linuxmvコマンド

  3. Linuxduコマンド