Ausführen eines Befehls für jede Datei in einem Ordner in Python

Lakshay Kapoor 10 Oktober 2023
  1. Verwenden Sie die Eingabeaufforderung, um einen Befehl für jede Datei auszuführen, die in einem Ordner in Python vorhanden ist
  2. Verwenden Sie das Modul os, um einen Befehl für jede Datei in einem Ordner in Python auszuführen
  3. Verwenden Sie das Modul pathlib, um einen Befehl für jede Datei in einem Ordner in Python auszuführen
Ausführen eines Befehls für jede Datei in einem Ordner in Python

Es gibt viele interessante Operationen, die wir mit Python für externe Dateien ausführen können, wie das Extrahieren bestimmter Variablen aus einer Datei, das Extrahieren des in einer Datei geschriebenen Textes usw. Eine der Operationen ist die Ausführung eines Befehls in einer Python-Datei, die sich in einem bestimmten Ordner befindet mit Python.

In diesem Tutorial wird gezeigt, wie Sie mit Python einen Befehl für jede Datei ausführen, die in einem Ordner vorhanden ist.

Für dieses Tutorial gehen wir davon aus, dass zwei Python-Dateien mit einigen Python-Anweisungen ausgeführt und mit der Erweiterung .py in einem Dictionary testFolder gespeichert werden.

Diese beiden Python-Dateien sind:

  • sample1.py
print("Hello World")
  • sample2.py
print(1 + 1)

Angenommen, diese beiden Dateien sind in einem Ordner namens testFolder gespeichert. Sehen wir uns einige Möglichkeiten zum Drucken dieser Dateien in Python an.

Verwenden Sie die Eingabeaufforderung, um einen Befehl für jede Datei auszuführen, die in einem Ordner in Python vorhanden ist

Um jede Datei, die in einem Ordner vorhanden ist, über die Befehlszeile des Computers auszuführen, müssen wir den Pfad der Datei angeben. Der Befehl, der in die Eingabeaufforderung geschrieben werden soll, lautet wie folgt:

python ../testFolder/sample1.py & python ../testFolder/sample2.py

Ausgabe:

Hello World
2

Verwenden Sie das Modul os, um einen Befehl für jede Datei in einem Ordner in Python auszuführen

Das Modul os in Python gehört zu den Standard-Dienstprogrammmodulen von Python. Dieses Modul hilft bei der Interaktion mit dem Betriebssystem des Computers, indem es verschiedene Funktionen und Methoden bereitstellt. Dieses Modul kommt hauptsächlich zum Einsatz, wenn der Benutzer mit dem Dateisystem des Computers interagieren möchte.

Bei dieser Methode werden einige Methoden aus dem Modul os verwendet. Die Methoden sind os.listdir, os.path.join und os.path.isfile.

Die Methode os.listdir des Moduls os hilft dabei, eine vollständige Liste aller in einem Verzeichnis vorhandenen Dateien zu erhalten. Das Argument dieser Methode ist der Pfad des Verzeichnisses. Wenn im Argument kein Verzeichnis angegeben ist, wird standardmäßig die Liste aller im aktuellen Verzeichnis vorhandenen Dateien zurückgegeben.

Die Methode os.path.join des Moduls os wird verwendet, um eine oder mehrere Komponenten eines bestimmten Pfades zu verketten. Dies geschieht durch ein Trennzeichen, das auch als Verzeichnistrennzeichen / bekannt ist.

Die Methode os.path.isfile des Moduls os hilft bei der Überprüfung, ob die Datei im angegebenen Pfad vorhanden ist oder nicht. Das Argument dieser Methode ist immer der Pfad der Datei.

import os

directory_name = "random"

for file_name in os.listdir(directory_name):
    i = os.path.join(directory_name, file_name)
    if os.path.isfile(i):
        print(i)

Ausgabe:

Hello World
2

Verwenden Sie das Modul pathlib, um einen Befehl für jede Datei in einem Ordner in Python auszuführen

Das Modul pathlib von Python gehört zu den Standard-Utility-Modulen. Dieses Modul hilft bei der Bereitstellung von Dateipfaden in Form von Klassen und bietet die richtige Semantik für den Umgang mit den Betriebssystemen.

Bei dieser Methode wird die Funktion path.glob() des Moduls pathlib verwendet, die grundsätzlich beim Zugriff auf alle Dateien im angegebenen Verzeichnis hilft.

from pathlib import Path

directory_name = "random"

open_files = Path(directory_name).glob("*")
for file in open_files:
    print(file)

Ausgabe:

Hello World
2
Lakshay Kapoor avatar Lakshay Kapoor avatar

Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.

LinkedIn

Verwandter Artikel - Python Directory