logo

OS-Modul in Python mit Beispielen

Der Betriebssystemmodul in Python stellt Funktionen zur Interaktion mit dem Betriebssystem bereit. Das Betriebssystem gehört zu den Standard-Dienstprogrammmodulen von Python. Dieses Modul bietet eine portable Möglichkeit, betriebssystemabhängige Funktionen zu nutzen.

Der *os* und *os.path* Module enthalten viele Funktionen zur Interaktion mit dem Dateisystem.



Funktionen des Python-OS-Moduls

Hier werden wir einige wichtige Funktionen des Python-Betriebssystemmoduls besprechen:

  • Umgang mit dem aktuellen Arbeitsverzeichnis
  • Erstellen eines Verzeichnisses
  • Auflisten von Dateien und Verzeichnissen mit Python
  • Verzeichnis oder Dateien mit Python löschen

Umgang mit dem aktuellen Arbeitsverzeichnis

In Betracht ziehen Aktuelles Arbeitsverzeichnis (CWD) als Ordner, in dem Python ausgeführt wird. Immer wenn die Dateien nur mit ihrem Namen aufgerufen werden, geht Python davon aus, dass sie im CWD beginnen, was bedeutet, dass eine Nur-Namen-Referenz nur dann erfolgreich ist, wenn sich die Datei im CWD von Python befindet.

Notiz: Der Ordner, in dem das Python-Skript ausgeführt wird, wird als aktuelles Verzeichnis bezeichnet. Dies ist nicht der Pfad, in dem sich das Python-Skript befindet.



Abrufen des aktuellen Arbeitsverzeichnisses

Um den Speicherort des aktuellen Arbeitsverzeichnisses abzurufen os.getcwd() wird eingesetzt.

Beispiel: Dieser Code verwendet die ' os'> Modul zum Abrufen und Drucken des aktuellen Arbeitsverzeichnisses (CWD) des Python-Skripts. Es ruft die CWD mithilfe von ab ' os.getcwd()'> und druckt es dann auf der Konsole aus.

Python
import os cwd = os.getcwd() print('Current working directory:', cwd)>

Ausgabe:



Current working directory: /home/nikhil/Desktop/gfg>

Ändern des aktuellen Arbeitsverzeichnisses

So ändern Sie das aktuelle Arbeitsverzeichnis (CWD) os.chdir() Methode verwendet wird. Diese Methode ändert den CWD in einen angegebenen Pfad. Es wird nur ein einziges Argument als neuer Verzeichnispfad benötigt.

Notiz: Das aktuelle Arbeitsverzeichnis ist der Ordner, in dem das Python-Skript ausgeführt wird.

Beispiel: Der Code überprüft und zeigt das aktuelle Arbeitsverzeichnis (CWD) zweimal an: vor und nach dem Ändern des Verzeichnisses um eine Ebene nach oben mit os.chdir('../')> . Es bietet ein einfaches Beispiel für die Arbeit mit dem aktuellen Arbeitsverzeichnis in Python.

Python
import os def current_path(): print('Current working directory before') print(os.getcwd()) print() current_path() os.chdir('../') current_path()>

Ausgabe:

Current working directory before C:UsersNikhil AggarwalDesktopgfg Current working directory after C:UsersNikhil AggarwalDesktop>

Erstellen eines Verzeichnisses

Für die Erstellung eines Verzeichnisses stehen im OS-Modul verschiedene Methoden zur Verfügung. Diese sind -

  • os.mkdir()
  • os.makedirs()

Verwendung von os.mkdir()

Durch die Nutzung os.mkdir() Die Methode in Python wird verwendet, um ein Verzeichnis mit dem Namen path mit dem angegebenen numerischen Modus zu erstellen. Diese Methode löst FileExistsError aus, wenn das zu erstellende Verzeichnis bereits vorhanden ist.

Beispiel: Dieser Code erstellt zwei Verzeichnisse: techcodeview.com innerhalb der D:/Pycharm-Projekte/ Verzeichnis und Geeks innerhalb der D:/Pycharm-Projekte Verzeichnis.

  • Das erste Verzeichnis wird mit erstelltos.mkdir()>Methode ohne Angabe des Modus.
  • Das zweite Verzeichnis wird mit derselben Methode erstellt, jedoch in einem bestimmten Modus ( 0o666> ) bereitgestellt, das Lese- und Schreibrechte gewährt.
  • Der Code gibt dann Meldungen aus, um anzuzeigen, dass die Verzeichnisse erstellt wurden.
Python
import os directory = 'techcodeview.com' parent_dir = 'D:/Pycharm projects/' path = os.path.join(parent_dir, directory) os.mkdir(path) print('Directory '% s' created' % directory) directory = 'Geeks' parent_dir = 'D:/Pycharm projects' mode = 0o666 path = os.path.join(parent_dir, directory) os.mkdir(path, mode) print('Directory '% s' created' % directory)>

Ausgabe:

Directory 'techcodeview.com' created Directory 'Geeks' created>

Verwendung von os.makedirs()

os.makedirs() Die Methode in Python wird verwendet, um ein Verzeichnis rekursiv zu erstellen. Das heißt, wenn beim Erstellen eines Blattverzeichnisses ein Zwischenverzeichnis fehlt, erstellt die Methode os.makedirs() alle Verzeichnisse.

Beispiel: Dieser Code erstellt zwei Verzeichnisse, Nikhil Und C , innerhalb verschiedener übergeordneter Verzeichnisse. Es nutzt dieos.makedirs>Funktion, um sicherzustellen, dass übergeordnete Verzeichnisse erstellt werden, wenn diese nicht vorhanden sind.

Es legt auch die Berechtigungen für fest C Verzeichnis. Der Code gibt Meldungen aus, um die Erstellung dieser Verzeichnisse zu bestätigen

Python
import os directory = 'Nikhil' parent_dir = 'D:/Pycharm projects/GeeksForGeeks/Authors' path = os.path.join(parent_dir, directory) os.makedirs(path) print('Directory '% s' created' % directory) directory = 'c' parent_dir = 'D:/Pycharm projects/techcodeview.com/a/b' mode = 0o666 path = os.path.join(parent_dir, directory) os.makedirs(path, mode) print('Directory '% s' created' % directory)>

Ausgabe:

Directory 'Nikhil' created Directory 'c' created>

Auflisten von Dateien und Verzeichnissen mit Python

Es gibt os.listdir() Die Methode in Python wird verwendet, um die Liste aller Dateien und Verzeichnisse im angegebenen Verzeichnis abzurufen. Wenn wir kein Verzeichnis angeben, wird die Liste der Dateien und Verzeichnisse im aktuellen Arbeitsverzeichnis zurückgegeben.

Beispiel: Dieser Code listet alle Dateien und Verzeichnisse im Stammverzeichnis auf (/) . Es nutzt dieos.listdir>Funktion, um die Liste der Dateien und Verzeichnisse im angegebenen Pfad abzurufen und dann die Ergebnisse auszugeben.

Python
import os path = '/' dir_list = os.listdir(path) print('Files and directories in '', path, '' :') print(dir_list)>

Ausgabe:

Files and directories in ' / ' : ['sys', 'run', 'tmp', 'boot', 'mnt', 'dev', 'proc', 'var', 'bin', 'lib64', 'usr',  'lib', 'srv', 'home', 'etc', 'opt', 'sbin', 'media']>

Verzeichnis oder Dateien mit Python löschen

Das Betriebssystemmodul bietet verschiedene Methoden zum Entfernen von Verzeichnissen und Dateien in Python. Diese sind -

  • Verwendung von os.remove()
  • Verwendung von os.rmdir()

Verwenden der Methode os.remove()

os.remove() Die Methode in Python wird zum Entfernen oder Löschen eines Dateipfads verwendet. Mit dieser Methode kann kein Verzeichnis entfernt oder gelöscht werden. Wenn der angegebene Pfad ein Verzeichnis ist, wird OSError von der Methode ausgelöst.

Beispiel: Angenommen, die im Ordner enthaltene Datei lautet:

Dieser Code entfernt eine Datei mit dem Namen file1.txt vom angegebenen Speicherort D:/Pycharm project/techcodeview.com/Authors/Nikhil/. Es nutzt dieos.remove>Funktion zum Löschen der Datei im angegebenen Pfad.

Python
import os file = 'file1.txt' location = 'D:/Pycharm projects/techcodeview.com/Authors/Nikhil/' path = os.path.join(location, file) os.remove(path)>

Ausgabe:


Verwendung von os.rmdir()

os.rmdir() Die Methode in Python wird zum Entfernen oder Löschen eines leeren Verzeichnisses verwendet. OSError wird ausgelöst, wenn der angegebene Pfad kein leeres Verzeichnis ist.

Beispiel: Angenommen, die Verzeichnisse sind

Dieser Code versucht, ein Verzeichnis mit dem Namen zu entfernen Geeks befindet sich D:/Pycharm-Projekte/ .

Es nutzt dieos.rmdir>Funktion zum Löschen des Verzeichnisses. Wenn das Verzeichnis leer ist, wird es entfernt. Wenn es Dateien oder Unterverzeichnisse enthält, kann ein Fehler auftreten.

Python
import os directory = 'Geeks' parent = 'D:/Pycharm projects/' path = os.path.join(parent, directory) os.rmdir(path)>

Ausgabe:

Häufig verwendete Funktionen

Verwendung der Funktion os.name

Diese Funktion gibt den Namen des importierten betriebssystemabhängigen Moduls an . Derzeit sind folgende Namen registriert: „posix“, „nt“, „os2“, „ce“, „java“ und „riscos“.

Python
import os print(os.name)>

Ausgabe:

posix>

Notiz: Es kann zu unterschiedlichen Ausgaben auf verschiedenen Interpretern kommen, z. B. „posix“, wenn Sie den Code hier ausführen.

Verwenden der Funktion os.error

Alle Funktionen in diesem Modul erhöhen OSError im Falle ungültiger oder unzugänglicher Dateinamen und Pfade oder anderer Argumente, die den richtigen Typ haben, aber vom Betriebssystem nicht akzeptiert werden. os.error ist ein Alias ​​für die integrierte OSError-Ausnahme.

Dieser Code liest den Inhalt einer Datei mit dem Namen „GFG.txt“ . Es verwendet a ' Versuchen Sie es ... außer ' Block zur Behandlung potenzieller Fehler, insbesondere des „ IOError ' Dies kann auftreten, wenn beim Lesen der Datei ein Problem auftritt.

Wenn ein Fehler auftritt, wird eine Meldung gedruckt, die besagt: Problem beim Lesen: GFG.txt.

Python
import os try: filename = 'GFG.txt' f = open(filename, 'rU') text = f.read() f.close() except IOError: print('Problem reading: ' + filename)>

Ausgabe:

Problem reading: GFG.txt>

Verwenden der Funktion os.popen()

Diese Methode öffnet eine Pipe zum oder vom Befehl. Der Rückgabewert kann je nach Modus gelesen oder geschrieben werden „r“ oder „w“ .
Syntax:

 os.popen(command[, mode[, bufsize]])>

Die Parameter mode und bufsize sind keine notwendigen Parameter. Wenn sie nicht angegeben werden, wird der Standardwert „r“ für mode verwendet.

Dieser Code öffnet eine Datei mit dem Namen „GFG.txt“ im Schreibmodus schreibt Hallo zu ihm, liest und druckt dann seinen Inhalt. Die Verwendung von os.popen> wird nicht empfohlen und für diese Aufgaben werden Standarddateioperationen verwendet.

Python
import os fd = 'GFG.txt' file = open(fd, 'w') file.write('Hello') file.close() file = open(fd, 'r') text = file.read() print(text) file = os.popen(fd, 'w') file.write('Hello')>

Ausgabe:

Hello>

Notiz: Die Ausgabe für popen() wird nicht angezeigt, es würden direkte Änderungen in der Datei vorgenommen.

Verwenden der Funktion os.close()

Dateideskriptor fd schließen. Eine mit open() geöffnete Datei kann nur mit close() geschlossen werden. Die über os.popen() geöffnete Datei kann jedoch mit close() oder geschlossen werden os.close() . Wenn wir versuchen, eine mit open() geöffnete Datei mit os.close() zu schließen, würde Python TypeError auslösen.

Python
import os fd = 'GFG.txt' file = open(fd, 'r') text = file.read() print(text) os.close(file)>

Ausgabe:

Traceback (most recent call last):  File 'C:UsersGFGDesktopGeeksForGeeksOSFile.py', line 6, in   os.close(file) TypeError: an integer is required (got type _io.TextIOWrapper)>

Notiz: Aufgrund der nicht vorhandenen Datei- oder Berechtigungsberechtigung wird möglicherweise nicht derselbe Fehler ausgegeben.

Verwenden der Funktion os.rename()

Mit der Funktion kann eine Datei old.txt in new.txt umbenannt werden os.rename() . Der Name der Datei ändert sich nur, wenn die Datei vorhanden ist und der Benutzer über ausreichende Berechtigungen zum Ändern der Datei verfügt.

Python
import os fd = 'GFG.txt' os.rename(fd,'New.txt') os.rename(fd,'New.txt')>

Ausgabe:

Traceback (most recent call last):  File 'C:UsersGFGDesktopModuleOSGeeksForGeeksOSFile.py', line 3, in   os.rename(fd,'New.txt') FileNotFoundError: [WinError 2] The system cannot find the file specified: 'GFG.txt' ->'Neu.txt'>

Es existiert ein Dateiname GFG.txt. Wenn also os.rename() zum ersten Mal verwendet wird, wird die Datei umbenannt.

Beim zweiten Aufruf der Funktion os.rename() existiert die Datei New.txt und nicht GFG.txt, sodass Python FileNotFoundError auslöst.

Verwenden der Funktion os.remove()

Mit dem Os-Modul können wir eine Datei in unserem System entfernen os.remove() Methode. Um eine Datei zu entfernen, müssen wir den Namen der Datei als Parameter übergeben.

Python
import os #importing os module. os.remove('file_name.txt') #removing the file.>

Das OS-Modul bietet uns eine Abstraktionsebene zwischen uns und dem Betriebssystem.

Wenn wir mit OS arbeiten Das Modul gibt immer den absoluten Pfad an, abhängig vom Betriebssystem. Der Code kann auf jedem Betriebssystem ausgeführt werden, aber wir müssen den Pfad genau ändern. Wenn Sie versuchen, eine nicht vorhandene Datei zu entfernen, erhalten Sie Folgendes: FileNotFoundError .

Verwenden der Funktion os.path.exists()

Diese Methode prüft, ob eine Datei existiert oder nicht, indem sie den Namen der Datei als Parameter übergibt. Das Betriebssystemmodul verfügt über ein Untermodul namens PATH, mit dem wir viele weitere Funktionen ausführen können.

Python
import os #importing os module result = os.path.exists('file_name') #giving the name of the file as a parameter. print(result)>

Ausgabe:

False>

Da die Datei im obigen Code nicht vorhanden ist, wird die Ausgabe „False“ ausgegeben. Wenn die Datei vorhanden ist, erhalten wir die Ausgabe „True“.

Verwenden der Funktion os.path.getsize()

In os.path.getsize( )-Funktion gibt uns Python die Größe der Datei in Bytes. Um diese Methode verwenden zu können, müssen wir den Namen der Datei als Parameter übergeben.

Python
import os #importing os module size = os.path.getsize('filename') print('Size of the file is', size,' bytes.')>

Ausgabe:

Hoppla, Konzepte in Java
Size of the file is 192 bytes.>