Trouver tous les fichiers dans un répertoire

Comment nous pouvons trouver un fichier sur l’ordinateur avec Python? Il y a beaucoup de façons de le faire, commençons par le premier.

Utilisation du système d’exploitation.listdir()

il Vous suffit d’importer le module os et vous pouvez utiliser le système d’exploitation.fonction listdir pour pouvoir voir tout le fichier dans un répertoire. En Python 3, Si vous ne mettez rien comme argument dans la parenthèse ronde, il vous renverra une liste de tous les fichiers et dossiers du répertoire courant., Dans Pyton 2, vous devez utiliser os.listdir(« .”) pour voir les fichiers dans le répertoire courant.

# First tryimport osf_list = os.listdir()

Si vous voulez un répertoire particulier, vous devez mettre le chemin d’accès comme un argument.

os.listdir("C:\\documents")

Dans cet exemple, vous pouvez regarder les fichiers dans le dossier documents du disque dur C:

os.listdir(): obtenir les fichiers dans le répertoire courant (Python 3)

la façon La plus simple d’avoir le fichier dans le répertoire actuel en Python 3, c’est ça., C’est vraiment simple, utilisez le module os et la fonction listdir() et vous aurez le fichier dans ce répertoire (et les éventuels dossiers qui se trouvent dans le répertoire, mais vous n’aurez pas le fichier dans le sous – répertoire, pour cela vous pouvez utiliser walk-j’en parlerai plus tard).

import osarr = os.listdir()arr

Pour le nom de chemin complet

Comme vous l’avez remarqué, vous n’avez pas le chemin d’accès complet du fichier dans le code ci-dessus. Si vous avez besoin d’avoir le chemin absolu, vous pouvez utiliser une autre fonction de l’os.module de chemin appelé _getfullpathname, mettant le fichier que vous obtenez à partir du système d’exploitation.listdir() comme argument., Il existe d’autres façons d’avoir le chemin complet, comme nous le vérifierons plus tard (j’ai remplacé, comme suggéré par mexmex, _getfullpathname par abspath).

obtenez le nom complet d’un type de fichier dans tous les sous-répertoires avec walk

je trouve cela très utile pour trouver des choses dans de nombreux répertoires et cela m’a aidé à trouver un fichier dont je ne me souvenais pas du nom:

import osthisdir = os.getcwd()for r, d, f in os.walk(thisdir): for file in f: if ".docx" in file: print(os.path.join(r, file))

os.listdir(): obtenir les fichiers dans le répertoire courant (Python 2)

import osarr = os.listdir('.')arr# output: 

Pour aller dans l’arborescence des répertoires

# method 1x = os.listdir('..')# method 2x = os.listdir('/')

obtenir des fichiers: os.,listdir() dans un répertoire particulier (Python 2 et 3)

import osarr = os.listdir('F:\\python')arr# output: 

Obtenir les fichiers d’un répertoire avec des os.listdir()

import osx = os.listdir("./content")

os.marche(‘.’) – répertoire courant

import osarr = next(os.walk('.'))arr# output: 

glob module – tous les fichiers

import globprint(glob.glob("*"))# output: 

ensuite(os.marche(‘.’ )) et os.chemin.join(‘dir’,’fichier’)

ensuite(os.walk (‘F:\’) – obtenez la compréhension complète de la liste des chemins

# output# 

os.marche – obtenez le chemin d’accès complet – tous les fichiers dans les sous répertoires

x = x# output# 

os.,listdir() – obtenir uniquement les fichiers txt

arr_txt = print(arr_txt)# output: 

glob – obtenir uniquement les fichiers txt

import globx = glob.glob("*.txt")x# output: 

glob pour obtenir le chemin d’accès complet des fichiers

Si j’ai besoin du chemin complet des fichiers:

Autre utilisation de glob

Si je veux que tous les fichiers dans le répertoire:

x = glob.glob("*")

à l’Aide du système d’exploitation.chemin.isfile pour éviter les répertoires dans la liste *

en utilisant pathlib from (Python 3.4)

Si vous voulez utiliser la compréhension de la liste

flist = 

Obtenez tous et uniquement les fichiers avec os.,marcher

seulement Obtenir des fichiers avec d’un côté et de marcher dans un répertoire

import osx = next(os.walk('F://python'))print(x)################################### output: 

Obtenez uniquement les répertoires avec d’un côté et de marcher dans un répertoire

import osnext(os.walk('F://python')) # for the current dir use ('.')# output: 

**Obtenir toutes les subdir noms avec pied

os.scandir () de python 3.5 sur

Ex. 1: Combien y a-t-il de fichiers dans les sous-répertoires?

dans cet exemple, nous recherchons le nombre de fichiers qui sont inclus dans tout le répertoire et ses sous-répertoires.

Ex.2: Comment copier tous les fichiers d’un répertoire à un autre?,

un script pour mettre de l’ordre dans votre ordinateur en trouvant tous les fichiers d’un type (par défaut: pptx) et en les copiant dans un nouveau dossier.

Ex.3: pour obtenir tous les fichiers dans un fichier txt

Dans le cas où vous souhaitez créer un fichier txt avec tous les noms de fichier:

Exemple: créer un txt avec tous les noms de fichiers dans votre disque dur

Tous les fichiers de C:\\ dans un fichier texte

C’est une version plus courte du code précédent. Changez le dossier où commencer à trouver les fichiers si vous devez commencer à partir d’une autre position., Ce code génère un fichier texte de 50 Mo sur mon ordinateur avec quelque chose de moins de 500.000 lignes avec des fichiers avec le chemin complet.

import oswith open("file.txt", "w", encoding="utf-8") as filewrite: for r, d, f in os.walk("C:\\"): for file in f: filewrite.write(f"{r + file}\n")

recherche d’un type de fichier dans tous les disques durs avec os.marche

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *