Python Glob()関数は、パス、ディレクトリ、ファイル名を例で一致させる

globは、Unixシェルに関連するルールに従って指定されたパターンに一致させるテクニックを定義するために使用される一般的な用語です。 LinuxおよびUnixシステムおよびシェルもglobをサポートし、システムライブラリの関数glob()も提供します。 このチュートリアルでは、Pythonプログラミング言語でのglob()関数の使用法を見ていきます。p>

glob()globglobglob()およびその他の関連関数が含まれていることに注意してください。P>

import glob
インポートGlobモジュール

正確な文字列検索

簡単な例から始めます。 正確な文字列またはファイル名を絶対パスと一致させる方法を見ていきます。 この例では、ファイル/home/ismail/poftut.cをリストします。 以下の例では、関数が一致を含むリストを返すことがわかります。P>

glob.glob("/home/ismail/poftut.c")
正確な文字列検索

ワイルドカード

ワイルドカード

ワイルドカード

ワイルドカードカード

ワイルドカードカード

ワイルドカードカード

ワイルドカードカード

ワイルドカードカード

ワイルドカードカード

ワイルドカードカード

ワイルドカードカード

ワイルドカードカード

ワイルドカードカード

ワイルドカードはglob操作のための重要なglob演算子です。 ワイルドカードまたはアスタリスクは、ゼロ以上の文字と一致するために使用されます。 ワイルドカードは、文字が重要でないゼロ文字または複数の文字がある可能性があることを指定しました。 この例では、.txt拡張子を持つファイルと一致します。P>

glob.glob("/home/ismail/*.txt")
ワイルドカード

私たちは多くの

glob.glob("/home/ismail/*.txt")
ワイルドカード

私たちは多くの

.txtこれらのファイルはpythonリストに返されます。

マルチレベルディレクトリを持つワイルドカード

マルチレベルディレクトリを指定するためにワイルドカードを使用できます。 指定されたglobを1レベル下のディレクトリで検索する場合は、/*/.txt/home/ismailの一つのレベルダウンディレクトリで検索します。 これは、モジュール名globとglobモジュールによって提供される関数globを使用するため、”glob glob”とも呼ばれます。P>

glob.glob("/home/ismail/*/*.txt")
マルチレベルのディレクトリを持つワイルドカード

単一文字のワイルドカード

単一の文字に一致するために使用される疑問符があります。 これは、指定された名前の単一の文字がわからない場合に便利です。 この例では、ファイルとファイルを照合しますfile?.txtファイルこれらは一致します

  • ファイル。txt
  • file1.txt
  • file5.txt
glob.glob("/home/ismail/file?.txt")

複数の文字

globは、アルファベットと数字もサポートしています。 私たちは使用することができますe,m,pのいずれかを開始するファイルとフォルダの名前を一致させます。P>

glob.glob("/home/ismail/*.tx?")
文字範囲

数値範囲

場合によっては、数値範囲を一致させたい場合があります。 開始番号と終了番号を指定するには、-0-9と一致させます。 この例では、0から9までの数字を含むファイル名とフォルダ名を照合します。p>

glob.glob("/home/ismail/**")
数字の範囲

アルファベットの範囲

また、数字の範囲と同様のアルファベットの範囲を定義します。 小文字にはa-zを使用し、大文字にはA-Zを使用します。 単一の文で小文字と大文字を一致させる必要がある場合はどうなりますか。 小文字と大文字の両方に一致させるには、a-Zを使用できます。 この例では、ac

glob.glob("/home/ismail/*")
c

glob.glob("/home/ismail/*")
アルファベット範囲

iglob()mehtodでジェネレータを返します

一般的にglobメソッドは、指定されたパターンのファイルを一覧表示するために使 しかし、場合によっては、それらをリストして保存するのは面倒な作業になる可能性があります。 したがって、iglob()next()関数。 p>

import glob
gen = glob.iglob("*.txt")
for item in gen:
print(item)
Iglob()Mehtodでジェネレータを返します

特定の文字をスキップしますescape()メソッド

escape()-_#が含まれているファイルをスキップしたい場合は、これらの文字を指定することでescape()関数を使用することができます。p>

chars_skip = "-_#"
for char_skip in chars_skip:
esc_set = "*" + glob.escape(char_skip)+ "*" + ".txt"
for txt in (glob.glob(esc_set)):
print(txt)

コメントを残す

メールアドレスが公開されることはありません。