Was ist das Betriebssystemmodul von Python und wie verwenden Sie es?

Was ist das Betriebssystemmodul von Python und wie verwenden Sie es?

Das Betriebssystemmodul in Python bietet Zugriff auf systemspezifische Funktionen für den Umgang mit Dateisystem, Prozessen, Scheduler usw. Sie müssen das Python-Betriebssystemsystem beherrschen, um Anwendungen zu schreiben, die mit realen Problemen umgehen. In diesem Handbuch werden einige der Kernkonzepte erläutert und die Verwendung des Python-Systembefehls veranschaulicht.





Funktionen des Python-Betriebssystems

Das Betriebssystem dient als tragbare Möglichkeit zur Interaktion mit dem zugrunde liegenden Betriebssystem. Es bietet neben anderen Funktionen Zugriff auf Dateinamen, Befehlszeilenargumente, Umgebungsvariablen, Prozessparameter und die Dateisystemhierarchie.





Dieses Modul enthält außerdem zwei Untermodule, das Modul os.sys und das Modul os.path. Mit den Funktionen des OS-Moduls können Sie vielfältige Aufgaben erledigen. Einige häufige Verwendungen umfassen das Ausführen von Shell-Befehlen, das Verwalten von Dateien und Verzeichnissen, das Starten von Prozessen usw.





Erste Schritte mit dem OS-Modul

Der einfachste Weg, das OS-Modul zu erkunden, ist der Interpreter. Dort können Sie das Modul importieren und die Systemfunktionen nutzen, ohne Quellcode schreiben zu müssen. Dafür muss allerdings Python installiert sein. Also fahren Sie fort und installieren Sie Python auf Ihrem lokalen Computer.

Verwandt: So installieren Sie Python unter Ubuntu



Starten Sie den Interpreter durch Eingabe von Python in Ihrem Terminal oder in der Befehlsshell. Sobald es geöffnet ist, importieren Sie das Betriebssystemmodul mithilfe der folgenden Anweisung.

Windows 10 Media Creation Tool bleibt hängen
>>> import os

Sie können jetzt auf die Funktionen des Betriebssystemmoduls zugreifen, einschließlich Python System Befehl. So können Sie beispielsweise die Systemplattform mit dem Name Befehl. Das folgende Beispiel zeigt, wie vom Betriebssystemmodul bereitgestellte Systembefehle aufgerufen werden.





>>> os.name

Diese Funktion prüft, ob bestimmte betriebssystemspezifische Module vorhanden sind und ermittelt daraus die Plattform. Verwenden Sie die dein Name Funktion, um detaillierte Informationen zu erhalten.

>>> os.uname()

Dieser Befehl zeigt die genaue Systemplattform zusammen mit Maschinenarchitektur, Release und Versionsinformationen an. Verwenden Sie die getcwd Funktion zum Abrufen des aktuellen Arbeitsverzeichnisses.





>>> os.getcwd()

Sie können das Arbeitsverzeichnis einfach mit dem Python-Systembefehl ändern chdir . Übergeben Sie die neue Position als Zeichenfolgenparameter.

>>> os.chdir('/tmp')

Die mkdir Funktion des OS-Moduls macht das Erstellen neuer Verzeichnisse einfach. Es ermöglicht uns auch, rekursive Ordner zu erstellen, was bedeutet, dass Python alle fehlenden Verzeichnisse erstellt, die dem Blattverzeichnis übergeordnet sind.

>>> os.mkdir('new-dir')

Verwenden Sie die rmdir Befehl zum Löschen von Verzeichnissen aus Ihrem Arbeitsverzeichnis.

>>> os.rmdir('new-dir')

Beispiele für Python-Systembefehle

Der vom OS-Modul bereitgestellte Systembefehl ermöglicht es Programmierern, Shell-Befehle auszuführen. Stellen Sie sicher, dass Sie den Befehlsnamen als Zeichenfolge definieren. Sobald Sie die Python aufrufen System Befehl, es wird den angegebenen Befehl in einer neuen Subshell ausführen.

>>> cmd = 'date'
>>> os.system(cmd)

Mit dieser Methode können Sie andere eigenständige Anwendungen ausführen. Im folgenden Beispiel wird der Terminaleditor nano von Ihrer Python-Shell ausgeführt.

>>> cmd = 'nano'
>>> os.system(cmd)

Das Python OS-System gibt auch den Rückgabecode für jeden ausgeführten Befehl aus. POSIX-Systeme geben 0 für eine erfolgreiche Ausführung und Werte ungleich null zurück, um auf Probleme hinzuweisen.

Sie können das Betriebssystem in Python verwenden, um alles auszuführen, was Sie möchten. Wenn Ihr Programm beispielsweise die Versionsinformationen eines Programms auf dem Benutzercomputer lesen muss, können Sie Folgendes tun.

>>> cmd = 'gcc --version'
>>> os.system(cmd)

Das folgende Beispiel führt einen einfachen Shell-Befehl aus, der eine neue Datei namens . erstellt user.txt und füllt es mit allen angemeldeten Benutzern. Viele Python-Programme tun diese Dinge.

>>> os.system('users > test')

Wir übergeben den Befehlsnamen als String an das Betriebssystem. Sie können alle Arten von verwenden nützliche Terminalbefehle in der gleichen Weise.

>>> os.system('ping -c 3 google.com')

Sie können auch verwenden Teilprozess ruft zum Ausführen von Systembefehlen von Python auf. Dies bietet mehrere zusätzliche Vorteile, einschließlich schnellerer Laufzeit, besserer Fehlerbehandlung, Ausgabeparsing und Rohrleitungs-Shell-Befehlen. Die offizielle Dokumentation von Python empfiehlt auch den Aufruf von Unterprozessen über ältere Module wie os.system und os.spawn .

>>> import subprocess
>>> subprocess.run(['ping','-c 3', 'example.com'])

Verwalten von Dateien und Verzeichnissen über das OS-Modul

Wir haben gezeigt, wie Sie mit dem Python OS-Modul einfache Dateien und Verzeichnisse erstellen. Was ist, wenn Sie verschachtelte Ordner erstellen möchten? Auch das übernimmt das OS-System für uns Programmierer. Die folgenden Ausschnitte erstellen beispielsweise den Ordner $HOME/test/root/api . Es erstellt auch die erforderlichen übergeordneten Verzeichnisse, wenn diese nicht verfügbar sind.

>>> dirname = os.path.join(os.environ['HOME'], 'test', 'root', 'api')
>>> print(dirname)
>>> os.makedirs(dirname)

Zuerst haben wir das Home-Verzeichnis mit abgerufen Über und dann die Ordnernamen über . verbunden os.path.join . Die print-Anweisung zeigt den Ordnernamen an, und Makedirs schafft es.

Wir können das neue Verzeichnis mit der listdir Methode des OS-Moduls.

>>> os.chdir(os.path.join(os.environ['HOME'], 'test', 'root', 'api'))
>>> os.system('touch file1 file2 file3')
>>> os.listdir(os.environ['HOME'])

Sie können das API-Verzeichnis ganz einfach umbenennen, indem Sie das umbenennen Befehl, der vom OS-Modul angeboten wird. Die folgende Anweisung benennt dieses API-Verzeichnis in test-api um.

>>> os.rename('api', 'test-api')

Verwenden Sie die isfile und Name Funktion des Betriebssystems, wenn Ihr Programm bestimmte Dateien oder Verzeichnisse validieren muss.

>>> os.path.isfile('file1')
>>> os.path.isdir('file1')

Das Betriebssystemmodul in Python ermöglicht es Entwicklern auch, Datei- und Ordnernamen neben Dateierweiterungen zu extrahieren. Die folgenden Ausschnitte veranschaulichen die Verwendung von os.path.split und os.pfad.splitext diesbezüglich.

>>> dir = os.path.join(os.environ['HOME'], 'test', 'root', 'api', 'file1.txt')
>>> dirname, basename = os.path.split(dir)
>>> print(dirname)
>>> print(basename)

Verwenden Sie den folgenden Code, um Erweiterungen wie .txt oder .mp3 aus Dateinamen zu extrahieren.

>>> filename, extension = os.path.splitext(basename)
>>> print(filename)
>>> print(extension)

Sonstige Verwendung des Python OS-Systems

Das OS-Modul bietet viele zusätzliche Funktionen, um Dinge wie Benutzerprozesse und den Job-Scheduler zu manipulieren. So können Sie beispielsweise schnell die UID (Benutzer-ID) des aktuellen Prozesses mit dem bezeugt Funktion.

>>> os.getuid()
>>> os.getgid()

Die getgid Funktion gibt die Gruppen-ID des laufenden Prozesses zurück. Verwenden getpid zum Abrufen der PID (Prozess-ID) und getppid um die übergeordnete Prozess-ID zu erhalten.

>>> os.getpid()
>>> os.getppid()

Sie können das Betriebssystemmodul auch verwenden, um Berechtigungen von Dateien und Verzeichnissen von Ihrem Python-Programm aus zu ändern. Verwenden Sie die chmod Funktion des Betriebssystems, dies zu tun.

>>> os.chmod('file1.txt', 0o444)

Dieser Befehl ändert die Berechtigung von Datei1.txt zu 0444 . Verwenden 0o444 Anstatt von 0444 um sicherzustellen, dass die Anweisung mit beiden Hauptversionen von Python kompatibel ist.

Nutzen Sie die Leistungsfähigkeit des Python OS-Systems

Das Betriebssystemmodul von Python bietet alles, was Sie für die Interaktion mit dem zugrunde liegenden Betriebssystem benötigen. Um wirklich plattformübergreifende Programme zu schreiben, ist ein klares Verständnis des Betriebssystems erforderlich. Wir haben einige der Kernfunktionen dieses Moduls behandelt, um Ihnen den Einstieg zu erleichtern. Probieren Sie sie in Ihrem eigenen Tempo aus und vergessen Sie nicht, daran zu basteln.

Teilen Teilen Tweet Email So erstellen und verwenden Sie Tupel in Python

Sind Sie bereit, Ihre Python-Codierung auf die nächste Stufe zu heben? Es ist an der Zeit zu verstehen, wie Tupel erstellt und verwendet werden.

Weiter lesen
Verwandte Themen
  • Programmierung
  • Python
Über den Autor Rubaiat Hossain(39 veröffentlichte Artikel)

Rubaiat ist ein CS-Absolvent mit einer starken Leidenschaft für Open Source. Abgesehen davon, dass er ein Unix-Veteran ist, beschäftigt er sich auch mit Netzwerksicherheit, Kryptographie und funktionaler Programmierung. Er ist ein leidenschaftlicher Sammler gebrauchter Bücher und hat eine unendliche Bewunderung für klassischen Rock.

Mehr von Rubaiat Hossain

Abonniere unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Klicken Sie hier, um zu abonnieren