Python os-Modul
Das Python OS-Modul bietet einfache Funktionen, mit denen wir interagieren und Informationen über das Betriebssystem abrufen sowie Prozesse bis zu einem gewissen Grad steuern können.
Python OS-Modul
Das OS-Modul bietet Funktionen, die es uns ermöglichen, auf zugrunde liegende Aufgaben des Betriebssystems zuzugreifen, unabhängig davon, ob es sich um eine Windows-Plattform, Macintosh oder Linux handelt. In dieser Lektion werden wir diese Funktionen überprüfen und was wir damit tun können. Lassen Sie uns unsere Reise mit diesen Funktionen beginnen und welche Informationen sie bieten.
Python import os
Bitte beachten Sie, dass wir zunächst das OS-Modul in unser Programm importieren müssen, erst dann können wir eine seiner Funktionen ausführen.
os.name
Diese Funktion gibt den Namen des OS-Moduls an, das sie importiert. Dies variiert je nach dem zugrunde liegenden Betriebssystem. Derzeit registriert es 'posix', 'os2', 'ce', 'nt', 'riscos' und 'java'. Lassen Sie uns dies im System ausführen:
>>> print(os.name)
posix
Offensichtlich kann dies je nach Interpreter unterschiedliche Plattformen ausgeben.
os.environ
environ ist keine Funktion, sondern ein Prozessparameter, über den wir auf die Umgebungsvariablen des Systems zugreifen können. Lassen Sie uns einen Beispielcode sehen:
import os
output = os.environ['HOME']
print(output)
Wenn wir dieses Skript ausführen, wird die folgende Ausgabe sein:
Wir können es verwenden, um mit den Umgebungsvariablen zu arbeiten, lesen Sie mehr über Python Umgebungsvariable setzen.
os.execvp
execvp Funktion ist eine der Möglichkeiten, andere Befehle im System auszuführen. Lassen Sie uns ein Beispielcode-Schnipsel für diese Funktion ansehen:
import os
program = "python"
arguments = ["hello.py"]
print(os.execvp(program, (program,) + tuple(arguments)))
Dafür haben wir einfach ein Beispiel-Skript als hello.py mit folgendem Code erstellt:
print('Hello')
Wenn wir dieses Skript ausführen, wird die folgende Ausgabe sein:
os.getuid
Diese Funktion des os-Moduls gibt die Benutzer-ID oder UID des aktuellen Prozesses zurück, wie sie allgemein bekannt ist.
>>> os.getuid()
501
Also, die aktuelle Shell-Prozess-ID ist 501.
os.rename
Mit der Python os rename-Funktion können wir eine Datei ganz einfach umbenennen.
import os
fileDir = "JournalDev.txt"
os.rename(fd,'JournalDev_Hi.txt')
Beachten Sie, dass wir dafür die richtigen Berechtigungen für unser Skript bereitstellen müssen.
os.system
Die Python os-Systemfunktion ermöglicht es uns, einen Befehl im Python-Skript auszuführen, als ob ich ihn in meiner Shell ausführen würde. Zum Beispiel:
import os
currentFiles = os.system("users > users.txt")
Als ich dieses Skript ausführen ließ, wurde eine neue Datei im gleichen Verzeichnis mit dem Namen users.txt und dem Inhalt String als 'shubham' erstellt, wie dies auch von der ursprünglichen Shell zurückgegeben wird:
Beachten Sie, dass dies ein sehr mächtiger Befehl ist und mit Vorsicht verwendet werden sollte.
os.error
Die Fehlerklasse des Python os-Moduls ist die Basisklasse für I/O-bezogene Fehler. Deshalb können wir IO-Fehler im Except-Block mit OSError abfangen.
import os
try:
f = open('abc.txt', 'r') # file is missing
except OSError:
print('Error')
os.getpid
Diese Funktion gibt die aktuelle Prozess-ID oder PID zurück, wie sie allgemein bekannt ist.
>>> os.getpid()
71622
Der Benutzer-ID des aktuellen Shell-Prozesses ist also 71622.
os.listdir
Diese Funktion listet nur die Dateien und Verzeichnisse auf, die im aktuellen Arbeitsverzeichnis vorhanden sind.
>>> import os
>>> os.listdir()
['.DS_Store', '.localized', 'JournalDev', 'Java', 'Python']
Es gibt eine durchlaufbare Liste von Verzeichnis- und Dateinamen zurück.
os.uname
Diese Funktion gibt Informationen zurück, die das aktuelle Betriebssystem identifizieren, auf dem sie ausgeführt wird.
>>> os.uname()
posix.uname_result(sysname='Darwin', nodename='Shubham.local', release='17.2.0', version='Darwin Kernel Version 17.2.0: Fri Sep 29 18:27:05 PDT 2017; root:xnu-4570.20.62~3/RELEASE_X86_64', machine='x86_64')
Das war eigentlich ziemlich detailliert.
importiere os.path vs importiere os
os.path funktioniert eigentlich seltsam. Es sieht so aus, als wäre os mit einem Untermodul path verpackt, aber tatsächlich ist os ein normales Modul, das mit sys.module arbeitet, um os.path zu unterstützen. Lassen Sie uns auflisten, was hinter den Kulissen passiert:
- Wenn Python startet, lädt es viele Module in
sys.module. - Das
os-Modul wird auch geladen, wenn Python startet. Es weist seinpathdem spezifischen Modulattribut vonoszu. - Es injiziert
sys.modules['os.path']=path, sodass Sieimport os.pathverwenden können, als wäre es ein Untermodul.
Zusammenfassung
In dieser Lektion lesen wir über verschiedene Funktionen, die das OS-Modul in Python bereitstellt, und sehen, wie sie funktionieren. Weitere Lektionen zu Python finden Sie hier. Referenz: API-Dokumentation




