Ausführen eines Befehls für jede Datei in einem Ordner in Python
- Verwenden Sie die Eingabeaufforderung, um einen Befehl für jede Datei auszuführen, die in einem Ordner in Python vorhanden ist
-
Verwenden Sie das Modul
os
, um einen Befehl für jede Datei in einem Ordner in Python auszuführen -
Verwenden Sie das Modul
pathlib
, um einen Befehl für jede Datei in einem Ordner in Python auszuführen
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 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