Python os Modul

Die Python OS-Modul bietet einfache Funktionen, mit denen wir interagieren und Informationen über das Betriebssystem abrufen und sogar Prozesse bis zu einem gewissen Grad steuern können.

Python OS-Modul

Die Funktionen des OS-Moduls ermöglichen es uns, auf zugrunde liegende Betriebssystemaufgaben zuzugreifen, unabhängig davon, ob es sich um eine Windows-Plattform, einen 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 und den Informationen, die sie bieten, beginnen.

Python import os

Bitte beachten Sie, dass wir zunächst das OS-Modul in unserem Programm importieren müssen, bevor wir eine seiner Funktionen ausführen können.

os.name

Diese Funktion gibt den Namen des OS-Moduls zurück, das es importiert. Dies variiert je nach zugrunde liegendem Betriebssystem. Derzeit registriert es ‚posix‘, ‚os2‘, ‚ce‘, ’nt‘, ‚riscos‘ und ‚java‘. Führen wir dies auf dem System aus:

>>> print(os.name)
posix

Offensichtlich kann dies verschiedene Plattformen basierend auf dem Interpreter ausgeben.

os.environ

environ ist keine Funktion, sondern ein Prozessparameter, über den wir auf Umgebungsvariablen des Systems zugreifen können. Schauen wir uns ein Beispielcode-Snippet an:

import os
output = os.environ['HOME']
print(output)

Wenn wir dieses Skript ausführen, wird folgendes ausgegeben: Wir können es verwenden, um mit den Umgebungsvariablen zu arbeiten, mehr unter Python Umgebungsvariable setzen.

os.execvp

execvp Funktion ist eine Möglichkeit, andere Befehle im System auszuführen. Schauen wir uns ein Beispielcode-Snippet für diese Funktion an:

import os
program = "python"
arguments = ["hello.py"]
print(os.execvp(program, (program,) +  tuple(arguments)))

Für dies haben wir einfach ein Beispiel-Skript als hello.py erstellt mit folgendem Code:

print('Hello')

Wenn wir dieses Skript ausführen, wird folgende Ausgabe generiert:

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

Die aktuelle Prozess-ID der Shell ist also 501.

os.rename

Mit der Python os-Rename-Funktion können wir einfach den Namen einer Datei ändern.

import os
fileDir = "JournalDev.txt"
os.rename(fd,'JournalDev_Hi.txt')

Beachten Sie, dass wir dafür korrekte 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, so als würde ich ihn in meiner Shell ausführen. Zum Beispiel:

import os
currentFiles = os.system("users > users.txt")

Als ich dieses Skript ausführte, wurde eine neue Datei im selben Verzeichnis mit dem Namen „users.txt“ und dem Inhalt „String as ’shubham'“ erstellt, da dies auch von der Original-Shell zurückgegeben wird: Beachten Sie, dass dies ein sehr mächtiger Befehl ist und vorsichtig verwendet werden sollte.

os.error

Die Python os-Modulfehlerklasse ist die Basisklasse für I/O-bezogene Fehler. Daher können wir E/A-Fehler mit OSError im Except-Block 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

Also ist die Benutzer-ID des aktuellen Shell-Prozesses 71622.

os.listdir

Diese Funktion listet einfach die Dateien und Verzeichnisse im aktuellen Arbeitsverzeichnis auf.

>>> import os
>>> os.listdir()
['.DS_Store', '.localized', 'JournalDev', 'Java', 'Python']

Sie gibt eine iterierbare Liste von Verzeichnis- und Dateinamen zurück.

os.uname

Diese Funktion gibt Informationen zurück, die das aktuelle Betriebssystem identifizieren, auf dem dies 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 ausführlich.

import os.path vs import os

os.path funktioniert tatsächlich seltsam. Es sieht so aus, als ob os mit einem Untermodul path gepackt ist, 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.
  • os-Modul wird auch beim Start von Python geladen. Es weist sein path dem spezifischen os-Modulattribut zu.
  • Es injiziert sys.modules['os.path'] = path, damit Sie import os.path machen können, als ob es ein Untermodul wäre.

Zusammenfassung

In dieser Lektion haben wir verschiedene Funktionen des OS-Moduls in Python besprochen und gesehen, wie sie funktionieren. Weitere Lektionen zu Python finden Sie hier. Referenz: API-Dokumentation

Source:
https://www.digitalocean.com/community/tutorials/python-os-module