[Introduction à Python] Comment obtenir des données avec la fonction listdir

Site de référence: [Introduction à Python] Comment obtenir des données avec la fonction listdir

[Introduction à Python] Comment obtenir des données avec la fonction listdir

Python vous permet de lire un fichier spécifique et d'obtenir les données. Vous pouvez taper directement le nom du fichier, mais il y a des moments où vous devez obtenir une liste de fichiers et sélectionner un fichier dans votre programme. Dans ce cas, vous pouvez facilement obtenir une liste de répertoires (dossiers) et de fichiers en utilisant la fonction listdir.

Cette fois, j'expliquerai comment obtenir le répertoire et la liste des fichiers et le chemin en utilisant la fonction listdir.

table des matières 1 [Obtenez une liste de répertoires et de fichiers avec la fonction listdir](Obtenez une liste de répertoires et de fichiers avec la fonction ## listdir) 2 [Obtenez uniquement ce dont vous avez besoin en combinaison avec la fonction lisdir](## Obtenez uniquement ce dont vous avez besoin en combinaison avec la fonction lisdir) 3 [Get file with glob function](## Get file with glob function)

Obtenez une liste de répertoires et de fichiers avec la fonction listdir

Utilisez la fonction listdir pour obtenir une liste de répertoires et de fichiers en Python. La syntaxe de la fonction listdir est la suivante.

import os  #Doit être requis

Variable de liste= os.listdir('chemin')

La fonction istdir est une fonction du module nommé os, assurez-vous donc de l'importer lorsque vous utilisez la fonction listdir. En passant le chemin du répertoire et le répertoire pour lequel vous souhaitez obtenir la liste de fichiers à l'argument de listdir, vous pouvez récupérer la liste des répertoires et des fichiers de ce répertoire.

import os

directory = os.listdir('C:\Python35')
print(directory)

Résultat d'exécution

[‘Lib’, ‘python.exe’, ‘Readme.txt’, ‘Scripts’, ‘tcl’, ‘test.txt’] Obtenez uniquement ce dont vous avez besoin en combinaison avec la fonction lisdir

Obtenez uniquement ce dont vous avez besoin en combinaison avec la fonction isdir

La fonction listdir obtiendra une liste de tous les dossiers et fichiers dans le chemin spécifié. Cependant, dans certains cas, vous ne voudrez peut-être que des répertoires ou vice versa. Dans un tel cas, il peut être réalisé en utilisant isdir qui peut vérifier si le chemin spécifié pointe vers un répertoire ou un fichier. La syntaxe d'isdir est la suivante.

os.path.isdir('chemin')

isdir renvoie True si le chemin passé dans l'argument est un répertoire, False sinon. Vous pouvez l'utiliser avec listdir pour obtenir une liste de répertoires ou de fichiers uniquement.

import os
 
path = 'C:\Python35\\'  #Répertoire pour lequel vous souhaitez obtenir une liste de répertoires
files = []
 
for x in os.listdir(path):  
    if os.path.isdir(path + x):  #Ajoutez les objets extraits au chemin pour créer le chemin complet
        files.append(x)
    
print(files)

Résultat d'exécution

[‘Lib’, ‘Scripts’, ‘tcl’]

Tout d'abord, obtenez une liste de répertoires et de fichiers avec listdir, et récupérez-les un par un avec une instruction for. Vous pouvez créer le chemin du répertoire ou du fichier en concaténant le nom du répertoire extrait ou le nom du fichier après le chemin d'origine.

Passez ce chemin à isdir et vous saurez s'il s'agit d'un répertoire ou d'un fichier. Dans ce cas, j'essaie de n'ajouter que ceux dont isdir renvoie True, c'est-à-dire les répertoires à la liste. En refusant cette instruction if, vous ne pouvez récupérer que l'instruction file.

Si vous utilisez isfile au lieu de isdir, vous ne pouvez récupérer que le fichier.

import os

path = 'C:\Python35\\'
files = []

for x in os.listdir(path):
    if os.path.isfile(path + x):  #utilisez isfile au lieu de isdir
        files.append(x) 
    
print(files)

Résultat d'exécution

[‘python.exe’, ‘Readme.txt’, ‘test.txt’]

Obtenez le fichier avec la fonction glob

Vous pouvez maintenant obtenir une liste de répertoires et de fichiers en utilisant listdir, isdir et isfile. Cependant, il arrive que vous souhaitiez obtenir le fichier avec plus de détails. Par exemple, si vous souhaitez extraire un fichier avec uniquement l'extension .txt, vous devez manipuler la chaîne après l'avoir extraite.

import os

path = 'C:\Python35\\'
files = []
texts = []

for x in os.listdir(path):
    if os.path.isfile(path + x):
        files.append(x) 
    
for y in files:
    if(y[-4:] == '.txt'):     #Extrayez les 4 derniers caractères du nom de fichier et c'est.Si txt
        texts.append(y)  #Ajouter à la liste
        
print(texts)

Résultat d'exécution

[‘Readme.txt’, ‘test.txt’]

Cependant, cette méthode complique le code et la longueur varie en fonction de l'extension, il est donc difficile de la définir à chaque fois. Dans de tels cas, il est rafraîchissant d'utiliser la fonction glob au lieu de listdir. La syntaxe de glob est la suivante.

import os

path = 'C:\Python35\\'
files = []
texts = []

for x in os.listdir(path):
    if os.path.isfile(path + x):
        files.append(x) 
    
for y in files:
    if(y[-4:] == '.txt'):     #Extrayez les 4 derniers caractères du nom de fichier et c'est.Si txt
        texts.append(y)  #Ajouter à la liste
        
print(texts)

La fonction glob est une fonction du module glob, assurez-vous donc d'importer glob. La fonction glob transmet également le chemin comme argument, mais contrairement à listdir, vous pouvez saisir non seulement un nom de répertoire unique, mais également un nom de fichier unique. De plus, des caractères génériques (*) et des expressions régulières qui signifient des chaînes de caractères arbitraires peuvent être utilisés dans l'argument glob, de sorte que vous ne pouvez facilement obtenir qu'un fichier spécifique.

import glob

path = 'C:\Python35\\*.txt'
files = []

files = glob.glob(path)

print(files)

Résultat d'exécution

[‘C:\Python35\Readme.txt’, ‘C:\Python35\test.txt’]

Dans cet exemple, "* .txt" est spécifié pour le chemin, donc seuls les fichiers avec l'extension .txt sont extraits. Si vous utilisez la fonction glob, vous pouvez obtenir le fichier dans n'importe quel modèle en concevant la méthode de spécification de chemin.

Recommended Posts

[Introduction à Python] Comment obtenir des données avec la fonction listdir
[Introduction à Python] Comment obtenir l'index des données avec l'instruction for
[Introduction à Python] Comment fractionner une chaîne de caractères avec la fonction split
[Introduction à Python] Comment écrire une chaîne de caractères avec la fonction format
Comment obtenir la version Python
Comment démarrer avec Python
Comment entrer dans l'environnement de développement Python avec Vagrant
[Python] Explique comment utiliser la fonction format avec un exemple
J'ai essayé d'obtenir des données CloudWatch avec Python
[Introduction à Python] Comment gérer les données au format JSON
Introduction à Python avec Atom (en route)
Comment obtenir les fichiers dans le dossier [Python]
[Python] Explique comment utiliser la fonction range avec un exemple concret
Comment obtenir la différence de date et d'heure en secondes avec Python
[Introduction à Python] Comment trier efficacement le contenu d'une liste avec le tri par liste
Obtenez des données Youtube avec python
Comment obtenir le nom de la variable lui-même en python
Comment obtenir le nombre de chiffres en Python
Comment récupérer des données d'image de Flickr avec Python
[Python] Comment spécifier l'emplacement de téléchargement avec youtube-dl
Note de lecture: Introduction à l'analyse de données avec Python
Comment obtenir plus de 1000 données avec SQLAlchemy + MySQLdb
[Introduction à Udemy Python3 + Application] 27. Comment utiliser le dictionnaire
Comment obtenir le verdict de la molette de la souris avec des malédictions Python
[Introduction à Python] Comment arrêter la boucle en utilisant break?
Comment démarrer le projet Python en 2020 (Windows WSL et Mac commun)
Remarque: Comment obtenir le dernier jour du mois avec python (ajouté le premier jour du mois)
Comment obtenir une liste de fichiers dans le même répertoire avec python
J'ai essayé de simuler la propagation de l'infection avec Python
[Python] Comment FFT des données mp3
Essayez d'obtenir la liste des fonctions du paquet Python> os
Python: comment utiliser async avec
Comment utiliser la fonction zip
Lien pour commencer avec python
Connaissances minimales pour démarrer avec le module de journalisation Python
Obtenez la météo avec les requêtes Python
Comment gérer les données déséquilibrées
[Python] Obtenez des données économiques avec DataReader
Comment démarrer avec Scrapy
Comment démarrer avec Django
Comment obtenir la dernière (dernière) valeur d'une liste en Python
Comment augmenter les données avec PyTorch
Comment calculer la date avec python
Comment utiliser la fonction zip de python
Obtenez des données supplémentaires vers LDAP avec python (Writer et Reader)
Récupérez la source de la page à charger indéfiniment avec python.
Exécutez le programme sans créer d'environnement Python! !! (Comment démarrer avec Google Colaboratory)
[Python / Ruby] Comprendre le code Comment obtenir des données en ligne et les écrire au format CSV
Comment obtenir les informations des organisations, Cost Explorer d'un autre compte AWS avec Lambda (python)
Comment est le progrès? Continuons le boom ?? en Python
python / pandas / dataframe / Comment obtenir la ligne / colonne / index / colonne la plus simple
Comment obtenir l'ID de Type2Tag NXP NTAG213 avec nfcpy
[Python 3.8 ~] Comment définir intelligemment des fonctions récursives avec des expressions lambda
Comment obtenir des abonnés et des abonnés de Python à l'aide de l'API Mastodon
Introduction à l'analyse de données avec Python P32-P43 [ch02 3.US Baby Names 1880-2010]
[Python] Comment obtenir le premier et le dernier jour du mois
Introduction à l'analyse de données par Python P17-P26 [ch02 1.usa.gov données de bit.ly]
Comment obtenir le répertoire où se trouve le EXE construit avec Pyinstaller