[Einführung in Python] So erhalten Sie Daten mit der Funktion listdir

Referenzseite: [Einführung in Python] So erhalten Sie Daten mit der Funktion listdir

[Einführung in Python] So erhalten Sie Daten mit der Funktion listdir

Mit Python können Sie eine bestimmte Datei lesen und die Daten abrufen. Sie können den Dateinamen direkt eingeben, aber manchmal müssen Sie eine Liste der Dateien abrufen und eine Datei in Ihrem Programm auswählen. In diesem Fall können Sie mithilfe der Funktion listdir problemlos eine Liste der Verzeichnisse (Ordner) und Dateien abrufen.

Dieses Mal werde ich erklären, wie Sie die Verzeichnis- und Dateiliste und den Pfad mithilfe der Funktion listdir abrufen.

Inhaltsverzeichnis 1 [Liste der Verzeichnisse und Dateien mit der Funktion listdir abrufen](Liste der Verzeichnisse und Dateien mit der Funktion ## listdir abrufen) 2 [Holen Sie sich nur das, was Sie in Kombination mit der Funktion lisdir benötigen](## Holen Sie sich nur das, was Sie in Kombination mit der Funktion lisdir benötigen) 3 [Datei mit Glob-Funktion abrufen](## Datei mit Glob-Funktion abrufen)

Rufen Sie mit der Funktion listdir eine Liste der Verzeichnisse und Dateien ab

Verwenden Sie die Funktion listdir, um eine Liste der Verzeichnisse und Dateien in Python abzurufen. Die Syntax der listdir-Funktion lautet wie folgt.

import os  #Muss erforderlich sein

Listenvariable= os.listdir('Pfad')

Die istdir-Funktion ist eine Funktion des Moduls mit dem Namen os. Importieren Sie sie daher unbedingt, wenn Sie die listdir-Funktion verwenden. Indem Sie den Pfad des Verzeichnisses und das Verzeichnis, für das Sie die Dateiliste abrufen möchten, an das Argument listdir übergeben, können Sie die Liste der Verzeichnisse und Dateien in diesem Verzeichnis abrufen.

import os

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

Ausführungsergebnis

[‘Lib’, ‘python.exe’, ‘Readme.txt’, ‘Scripts’, ‘tcl’, ‘test.txt’] Holen Sie sich in Kombination mit der Funktion lisdir nur das, was Sie brauchen

Holen Sie sich in Kombination mit der isdir-Funktion nur das, was Sie brauchen

Die Funktion listdir ruft eine Liste aller Ordner und Dateien im angegebenen Pfad ab. In einigen Fällen möchten Sie jedoch möglicherweise nur Verzeichnisse oder umgekehrt. In einem solchen Fall kann dies mithilfe von isdir realisiert werden, mit dem überprüft werden kann, ob der angegebene Pfad auf ein Verzeichnis oder eine Datei verweist. Die Syntax von isdir lautet wie folgt.

os.path.isdir('Pfad')

isdir gibt True zurück, wenn der im Argument übergebene Pfad ein Verzeichnis ist, andernfalls False. Sie können dies mit listdir verwenden, um eine Liste nur von Verzeichnissen oder nur Dateien abzurufen.

import os
 
path = 'C:\Python35\\'  #Verzeichnis, für das Sie eine Liste der Verzeichnisse erhalten möchten
files = []
 
for x in os.listdir(path):  
    if os.path.isdir(path + x):  #Fügen Sie die extrahierten Objekte zum Pfad hinzu, um den vollständigen Pfad zu erstellen
        files.append(x)
    
print(files)

Ausführungsergebnis

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

Rufen Sie zunächst eine Liste der Verzeichnisse und Dateien mit listdir ab und rufen Sie sie nacheinander mit einer for-Anweisung ab. Sie können den Pfad des Verzeichnisses oder der Datei erstellen, indem Sie den extrahierten Verzeichnisnamen oder Dateinamen nach dem ursprünglichen Pfad verketten.

Wenn Sie diesen Pfad an isdir übergeben, wissen Sie, ob es sich um ein Verzeichnis oder eine Datei handelt. In diesem Fall versuche ich, nur diejenigen hinzuzufügen, die isdir True zurückgibt, dh die Verzeichnisse zur Liste. Wenn Sie diese if-Anweisung ablehnen, können Sie nur die file-Anweisung abrufen.

Wenn Sie isfile anstelle von isdir verwenden, können Sie nur die Datei abrufen.

import os

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

for x in os.listdir(path):
    if os.path.isfile(path + x):  #Verwenden Sie isfile anstelle von isdir
        files.append(x) 
    
print(files)

Ausführungsergebnis

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

Holen Sie sich die Datei mit der Glob-Funktion

Mit listdir, isdir und isfile können Sie jetzt eine Liste der Verzeichnisse und Dateien abrufen. Es gibt jedoch Situationen, in denen Sie die Datei detaillierter abrufen möchten. Wenn Sie beispielsweise eine Datei nur mit der Erweiterung .txt extrahieren möchten, müssen Sie die Zeichenfolge nach dem Extrahieren bearbeiten.

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'):     #Extrahieren Sie die letzten 4 Zeichen des Dateinamens und das ist.Wenn txt
        texts.append(y)  #Zur Liste hinzufügen
        
print(texts)

Ausführungsergebnis

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

Diese Methode verkompliziert jedoch den Code und die Länge variiert je nach Erweiterung. Daher ist es schwierig, ihn jedes Mal festzulegen. In solchen Fällen ist es erfrischend, die Glob-Funktion anstelle von listdir zu verwenden. Die Syntax von glob lautet wie folgt.

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'):     #Extrahieren Sie die letzten 4 Zeichen des Dateinamens und das ist.Wenn txt
        texts.append(y)  #Zur Liste hinzufügen
        
print(texts)

Die Glob-Funktion ist eine Funktion des Glob-Moduls. Importieren Sie daher unbedingt den Glob. Die glob-Funktion übergibt den Pfad auch als Argument. Im Gegensatz zu listdir können Sie jedoch nicht nur einen einzelnen Verzeichnisnamen, sondern auch einen einzelnen Dateinamen eingeben. Darüber hinaus können im glob-Argument Platzhalter (*) und reguläre Ausdrücke verwendet werden, die beliebige Zeichenfolgen bedeuten, sodass Sie problemlos nur eine bestimmte Datei abrufen können.

import glob

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

files = glob.glob(path)

print(files)

Ausführungsergebnis

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

In diesem Beispiel wird "* .txt" als Pfad angegeben, sodass nur Dateien mit der Erweiterung .txt extrahiert werden. Wenn Sie die Glob-Funktion verwenden, können Sie die Datei in einem beliebigen Muster abrufen, indem Sie die Pfadspezifikationsmethode entwickeln.

Recommended Posts

[Einführung in Python] So erhalten Sie Daten mit der Funktion listdir
[Einführung in Python] So erhalten Sie den Datenindex mit der for-Anweisung
[Einführung in Python] So teilen Sie eine Zeichenfolge mit der Funktion split
[Einführung in Python] So schreiben Sie eine Zeichenfolge mit der Formatierungsfunktion
So erhalten Sie die Python-Version
Erste Schritte mit Python
So gelangen Sie mit Vagrant in die Python-Entwicklungsumgebung
[Python] Erklärt anhand eines Beispiels, wie die Formatierungsfunktion verwendet wird
Ich habe versucht, CloudWatch-Daten mit Python abzurufen
[Einführung in Python] Umgang mit Daten im JSON-Format
Einführung in Python mit Atom (unterwegs)
So erhalten Sie die Dateien im Ordner [Python]
[Python] Erklärt anhand eines konkreten Beispiels, wie die Bereichsfunktion verwendet wird
So ermitteln Sie mit Python den Unterschied zwischen Datum und Uhrzeit in Sekunden
[Einführung in Python] So sortieren Sie den Inhalt einer Liste effizient mit Listensortierung
Holen Sie sich Youtube-Daten mit Python
So erhalten Sie den Variablennamen selbst in Python
So ermitteln Sie die Anzahl der Stellen in Python
So kratzen Sie Bilddaten von Flickr mit Python
[Python] So legen Sie den Download-Speicherort mit youtube-dl fest
Lesehinweis: Einführung in die Datenanalyse mit Python
So erhalten Sie mit SQLAlchemy + MySQLdb mehr als 1000 Daten
[Einführung in die Udemy Python3 + -Anwendung] 27. Verwendung des Wörterbuchs
Wie man mit Python-Flüchen ein Urteil über das Mausrad erhält
[Einführung in Python] Wie stoppe ich die Schleife mit break?
So starten Sie das Python-Projekt im Jahr 2020 (Windows WSL und Mac Common)
Hinweis: So erhalten Sie den letzten Tag des Monats mit Python (hinzugefügt am ersten Tag des Monats)
So erhalten Sie mit Python eine Liste der Dateien im selben Verzeichnis
Ich habe versucht zu simulieren, wie sich die Infektion mit Python ausbreitet
[Python] Wie man MP3-Daten fFT
Versuchen Sie, die Funktionsliste des Python> os-Pakets abzurufen
Python: So verwenden Sie Async mit
Verwendung der Zip-Funktion
Link, um mit Python zu beginnen
Mindestkenntnisse, um mit dem Python-Protokollierungsmodul zu beginnen
Holen Sie sich das Wetter mit Python-Anfragen
Umgang mit unausgeglichenen Daten
[Python] Mit DataReader Wirtschaftsdaten abrufen
Wie fange ich mit Scrapy an?
Wie fange ich mit Django an?
So erhalten Sie den letzten (letzten) Wert in einer Liste in Python
Aufblasen von Daten (Datenerweiterung) mit PyTorch
So berechnen Sie das Datum mit Python
Verwendung der Zip-Funktion von Python
Holen Sie sich zusätzliche Daten zu LDAP mit Python (Writer und Reader)
Holen Sie sich die Quelle der Seite unbegrenzt mit Python zu laden.
Führen Sie das Programm aus, ohne eine Python-Umgebung zu erstellen! !! (Erste Schritte mit Google Colaboratory)
[Python / Ruby] Mit Code verstehen Wie man Daten aus dem Internet abruft und in CSV schreibt
So erhalten Sie Informationen von Organisationen, Cost Explorer eines anderen AWS-Kontos bei Lambda (Python)
Wie ist der Fortschritt? Lassen Sie uns mit dem Boom in Python weitermachen
python / pandas / dataframe / So erhalten Sie die einfachste Zeile / Spalte / Index / Spalte
So erhalten Sie die ID von Type2Tag NXP NTAG213 mit nfcpy
[Python 3.8 ~] Wie man rekursive Funktionen mit Lambda-Ausdrücken intelligent definiert
So erhalten Sie mithilfe der Mastodon-API Follower und Follower von Python
Einführung in die Datenanalyse mit Python P32-P43 [ch02 3.US Babynamen 1880-2010]
[Python] So erhalten Sie den ersten und den letzten Tag des Monats
Einführung in die Datenanalyse mit Python P17-P26 [ch02 1.usa.gov Daten von bit.ly]
So erhalten Sie das Verzeichnis, in dem die mit Pyinstaller erstellte EXE-Datei vorhanden ist