Bonjour à tous,
J'essaie de créer un script avec lequel je pourrais rechercher les fichiers d'un dossier contenant un mot particulier.
Et ensuite, copier le nom de ces fichiers dans un fichier.
Comment pourrais-je faire ??
Merci d'avance !!
Version imprimable
Bonjour à tous,
J'essaie de créer un script avec lequel je pourrais rechercher les fichiers d'un dossier contenant un mot particulier.
Et ensuite, copier le nom de ces fichiers dans un fichier.
Comment pourrais-je faire ??
Merci d'avance !!
Bonjour,
Je pense que le module 'os' devrait suffire:
Tu verras notamment la fonction os.listdir (l'argument est le chemin du répertoire).Code:
1
2 import os help(os)
Exemple:
os.listdir(".") renvoit la liste des fichier du répertoire courant.
Bonjour,
@+Code:
1
2
3
4
5
6
7 import os with open('outfile.txt', 'w') as f: # Ouverture du fichier outfile.txt en écriture for item in os.listdir(os.getcwd()): # on liste ce que contient le répertoire. Ici os.getcwd() est le répertoire courrant if os.path.isfile(item) and 'votrepattern' in item: # Si c'est un fichier et si son nom contient 'votrepattern' f.write(item+'\n') # On écrit le nom dans outfile.txt
edit: Grilled
En fait, je voudrais la liste de fichiers contenant un mot particulier dans le fichier même et non dans le titre.
Voila
A vous de comprendre le code / l'appliquer.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 #!/usr/bin/env python # -*- coding: UTF-8 -*- # # import os ext = ('.txt', '.py') # Utile de limiter dans votre cas ? with open('outfile.txt', 'w') as f: # Ouverture du fichier outfile.txt en écriture for item in os.listdir(os.getcwd()): # on liste ce que contient le répertoire. Ici os.getcwd() est le répertoire courrant if os.path.isfile(item) and os.access(item, os.R_OK) and os.path.splitext(item)[1] in ext: # Si c'est un fichier et s'il est lisible with open(item, 'r') as filein: # Ouverure du fichier if 'pattern' in filein.read(): # On recherche le 'pattern' dans le fichier f.write(item+'\n') # Si ok on écrit le nom dans outfile.txt
@+