Maison > développement back-end > Tutoriel Python > Comment utiliser le module glob pour la correspondance de modèles de fichiers dans Python 2.x

Comment utiliser le module glob pour la correspondance de modèles de fichiers dans Python 2.x

PHPz
Libérer: 2023-07-30 15:24:42
original
1172 Les gens l'ont consulté

Python est un langage de programmation puissant largement utilisé dans l'analyse de données, le développement Web et d'autres domaines. Dans les opérations sur les fichiers, il est souvent nécessaire de faire correspondre les noms de fichiers ou les chemins de fichiers en fonction de modèles spécifiques. Python fournit le module glob pour la correspondance de modèles de fichiers. Cet article explique comment utiliser le module glob pour la correspondance de modèles de fichiers dans Python 2.x.

Le module glob fait partie de la bibliothèque standard Python et peut être utilisé sans installation supplémentaire. Il fournit des méthodes de recherche de fichiers et de dossiers basées sur des chaînes de modèles et renvoie une liste de fichiers ou de dossiers correspondants. Le module glob prend en charge certaines règles courantes de correspondance de modèles de fichiers :

  • * : correspond à n'importe quel caractère.
  • *:匹配任意字符。
  • ?:匹配单个字符。
  • [字符]:匹配字符集中的任意一个字符。
  • [!字符]:匹配字符集中的任意一个字符以外的字符。

下面是使用 glob 模块进行文件模式匹配的示例代码:

import glob

# 匹配当前目录下所有的.py文件
files = glob.glob('*.py')
print(files)

# 匹配当前目录下所有以test开头的文件夹
folders = glob.glob('test*')
print(folders)

# 匹配当前目录及其子目录下所有的.txt文件
files = glob.glob('**/*.txt', recursive=True)
print(files)
Copier après la connexion

在上述代码中,首先导入了 glob 模块。然后通过 glob.glob() 方法传入匹配模式字符串,获取匹配的文件或文件夹列表。使用 *.py 可以匹配当前目录下所有的 .py 文件,其中 * 表示匹配任意字符。使用 test* 可以匹配当前目录下所有以 test 开头的文件夹,其中 * 表示匹配任意字符。使用 **/*.txt 可以匹配当前目录及其子目录下所有的 .txt 文件,其中 ** 表示匹配任意级别的子目录。

运行上述代码可以得到匹配的文件或文件夹列表,分别存储在 files 和 folders 变量中。然后通过 print 函数将结果打印出来。在实际使用中,可以根据需要对匹配到的文件或文件夹进行进一步的操作。

除了基本的文件模式匹配外,glob 模块还支持路径扩展。例如,可以使用 ~ 来表示用户的主目录,使用 ../ 来表示上一级目录。下面是使用路径扩展的示例代码:

import glob

# 匹配当前用户主目录下所有的.py文件
files = glob.glob('~/Desktop/*.py')
print(files)

# 匹配上一级目录下所有以test开头的文件夹
folders = glob.glob('../test*')
print(folders)
Copier après la connexion

在上述代码中,使用 ~/Desktop/*.py 可以匹配当前用户主目录下的 Desktop 目录中所有的 .py 文件。使用 ../test*? : correspond à un seul caractère.

[Character] : correspond à n'importe quel caractère du jeu de caractères.

[!Character] : correspond à n'importe quel caractère autre que n'importe quel caractère du jeu de caractères.

Ce qui suit est un exemple de code pour la correspondance de modèles de fichiers à l'aide du module glob : 🎜rrreee🎜Dans le code ci-dessus, le module glob est d'abord importé. Transmettez ensuite la chaîne de modèle correspondante via la méthode glob.glob() pour obtenir une liste de fichiers ou de dossiers correspondants. Utilisez *.py pour faire correspondre tous les fichiers .py du répertoire actuel, où * signifie correspondre à n'importe quel caractère. Utilisez test* pour faire correspondre tous les dossiers commençant par test dans le répertoire actuel, où * signifie correspondre à n'importe quel caractère. Utilisez **/*.txt pour faire correspondre tous les fichiers .txt du répertoire actuel et de ses sous-répertoires, où ** signifie correspondre à n'importe quel niveau de sous-répertoires. 🎜🎜Exécutez le code ci-dessus pour obtenir une liste de fichiers ou de dossiers correspondants, stockés respectivement dans les variables de fichiers et de dossiers. Imprimez ensuite le résultat via la fonction d'impression. En utilisation réelle, vous pouvez effectuer d'autres opérations sur les fichiers ou dossiers correspondants selon vos besoins. 🎜🎜En plus de la correspondance de modèles de fichiers de base, le module glob prend également en charge l'expansion des chemins. Par exemple, vous pouvez utiliser ~ pour représenter le répertoire personnel de l'utilisateur et ../ pour représenter le répertoire de niveau supérieur. Voici un exemple de code utilisant l'extension de chemin : 🎜rrreee🎜Dans le code ci-dessus, utilisez ~/Desktop/*.py pour faire correspondre tous les fichiers .py du répertoire Desktop sous le répertoire personnel de l'utilisateur actuel. Utilisez ../test* pour faire correspondre tous les dossiers commençant par test dans le répertoire de niveau supérieur. 🎜🎜En résumé, le module glob fournit un moyen pratique d'effectuer une correspondance de modèles de fichiers. Avec une simple chaîne de modèle, vous pouvez faire correspondre les noms de fichiers ou les chemins de fichiers et renvoyer une liste de fichiers ou de dossiers correspondants. L'utilisation du module glob dans Python 2.x peut facilement implémenter la correspondance de modèles de fichiers et améliorer l'efficacité des opérations sur les fichiers. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal