import os
# Betriebssystemfunktionen
print(os.getcwd()) # aktuelles Arbeitsverzeichnis
os.chdir('C:/') # Arbeitsverzeichnis wechseln
print(os.getcwd())
os.mkdir('newdir') # Verzeichnis erstellen
os.rename('newdir', 'newdir2') # Verzeichnis umbenennen
os.rmdir('newdir2') # Verzeichnis löschen
# Interaktion mit dem Betriebssystem über Python
os.system('notepad.exe') # ausführbare Dateien öffnen
os.startfile('C:/Users/User/Desktop/file.txt')
os.startfile('https://www.google.com') # URLs in Standardbrowser öffnenIn diesem Beispiel haben wir eine Einführung in Betriebssystemfunktionen und Interaktion mit dem Betriebssystem über Python gegeben.
Das os-Modul bietet eine Reihe von Funktionen, die es
uns ermöglichen, mit dem Betriebssystem zu interagieren. Wir haben
gezeigt, wie man das aktuelle Arbeitsverzeichnis abruft, das
Arbeitsverzeichnis ändert, Verzeichnisse erstellt, umbenennt und
löscht.
Mit dem os.system-Befehl können wir ausführbare Dateien
öffnen. Wir haben gezeigt, wie man die Anwendung “Notepad” öffnet und
wie man eine Textdatei auf dem Desktop öffnet. Außerdem haben wir
gezeigt, wie man eine URL im Standardbrowser öffnet.
import os
# Einführung in das os-Modul
print(os.name) # gibt den Namen des Betriebssystems zurück (z.B. 'nt' für Windows)
print(os.getcwd()) # gibt das aktuelle Arbeitsverzeichnis zurück
print(os.listdir()) # gibt eine Liste aller Dateien und Verzeichnisse im aktuellen Verzeichnis zurück
# Wichtige Funktionen im os-Modul
print(os.path.abspath('file.txt')) # gibt den absoluten Pfad der Datei zurück
print(os.path.isfile('file.txt')) # prüft, ob es sich bei 'file.txt' um eine Datei handelt
print(os.path.isdir('directory')) # prüft, ob es sich bei 'directory' um ein Verzeichnis handelt
print(os.path.exists('file.txt')) # prüft, ob 'file.txt' existiert
print(os.path.join('C:', 'Users', 'User', 'Desktop', 'file.txt')) # erstellt einen Pfad aus seinen TeilenDas os-Modul ist ein in Python integriertes Modul, das
es uns ermöglicht, mit dem Betriebssystem zu interagieren. Mit dem Modul
können wir beispielsweise das aktuelle Arbeitsverzeichnis abrufen,
Verzeichnisse und Dateien erstellen, umbenennen und löschen sowie auf
systemspezifische Funktionen zugreifen.
Wir haben gezeigt, wie man den Namen des Betriebssystems abruft, das aktuelle Arbeitsverzeichnis und eine Liste aller Dateien und Verzeichnisse im aktuellen Verzeichnis zurückgibt.
Wir haben auch einige wichtige Funktionen im os-Modul
vorgestellt, wie zum Beispiel os.path.abspath(), um den
absoluten Pfad einer Datei zu erhalten, os.path.isfile()
und os.path.isdir(), um zu prüfen, ob es sich um eine Datei
oder ein Verzeichnis handelt, os.path.exists() um zu
prüfen, ob eine Datei oder ein Verzeichnis existiert und
os.path.join(), um einen Pfad aus seinen Teilen zu
erstellen.
import os
# Zugriff auf Umgebungsvariablen mit os.environ
print(os.environ['USER']) # gibt den Wert der Umgebungsvariable 'USER' zurück
print(os.environ.get('HOME')) # gibt den Wert der Umgebungsvariable 'HOME' zurück oder None, falls sie nicht existiert
print(os.environ) # gibt alle Umgebungsvariablen als Dictionary zurück
# Setzen, Ändern und Löschen von Umgebungsvariablen
os.environ['TEST'] = '123' # setzt die Umgebungsvariable 'TEST' auf '123'
os.environ['TEST'] = '456' # ändert den Wert der Umgebungsvariable 'TEST' auf '456'
del os.environ['TEST'] # löscht die Umgebungsvariable 'TEST'In diesem Beispiel haben wir gezeigt, wie man mit Umgebungsvariablen in Python arbeitet.
Das os-Modul bietet eine Möglichkeit, auf
Umgebungsvariablen zuzugreifen, indem es ein Dictionary mit dem Namen
environ bereitstellt. Wir haben gezeigt, wie man den Wert
einer bestimmten Umgebungsvariable mit os.environ['VAR']
abruft oder den Wert einer Umgebungsvariable mithilfe von
os.environ.get('VAR') abruft, wobei None
zurückgegeben wird, wenn die Umgebungsvariable nicht existiert.
Wir haben auch gezeigt, wie man Umgebungsvariablen setzt, ändert und
löscht. Mit os.environ['VAR'] = 'value' kann man eine neue
Umgebungsvariable setzen oder den Wert einer vorhandenen Variable
ändern. Mit del os.environ['VAR'] kann man eine
Umgebungsvariable löschen.
import os
# Erstellen, Lesen, Schreiben und Löschen von Dateien
with open('test.txt', 'w') as f:
f.write('Hello, world!')
with open('test.txt', 'r') as f:
content = f.read()
print(content)
os.remove('test.txt')
# Erstellen, Umbenennen und Löschen von Verzeichnissen
os.mkdir('newdir')
os.rename('newdir', 'newdir2')
os.rmdir('newdir2')
# Arbeiten mit Pfaden und Dateinamen
print(os.path.join('dir1', 'dir2', 'file.txt')) # Erzeugt 'dir1/dir2/file.txt'
print(os.path.abspath('test.txt')) # Gibt den absoluten Pfad von 'test.txt' zurück
print(os.path.splitext('test.txt')) # Gibt Tupel aus Dateiname und Dateiendung zurückIn diesem Beispiel haben wir gezeigt, wie man Datei- und Verzeichnisoperationen in Python durchführt.
Mit dem open()-Befehl können wir Dateien erstellen,
öffnen, lesen, schreiben und schließen. Wir haben gezeigt, wie man eine
Textdatei erstellt, in die Datei schreibt, die Datei liest und die Datei
löscht.
Mit dem os-Modul können wir Verzeichnisse erstellen,
umbenennen und löschen. Wir haben gezeigt, wie man ein Verzeichnis
erstellt, umbenennt und löscht.
Mit dem os.path-Modul können wir Pfade und Dateinamen
verarbeiten. Wir haben gezeigt, wie man Pfade und Dateinamen kombiniert,
den absoluten Pfad einer Datei ermittelt und die Dateiendung
extrahiert.
import os
import subprocess
# Starten und Beenden von Prozessen mit os.system und subprocess
os.system('notepad.exe') # startet den Editor Notepad
subprocess.run(['notepad.exe', 'test.txt']) # startet den Editor Notepad mit der Datei test.txt
# Kommunikation mit Prozessen über Pipes
result = subprocess.run(['ping', '-c', '3', 'google.com'], capture_output=True)
print(result.stdout.decode()) # gibt den Ausgabestring des Ping-Befehls aus
# Signale und Prozessablaufsteuerung
subprocess.run(['sleep', '10']) # führt einen Prozess aus, der 10 Sekunden schläft
subprocess.Popen(['sleep', '10']) # führt einen Prozess aus, der 10 Sekunden schläft und gibt die Kontrolle an das Hauptprogramm zurückIn diesem Beispiel haben wir gezeigt, wie man Prozesse in Python startet und beendet und wie man mit ihnen über Pipes kommuniziert.
Mit os.system() und subprocess.run() können
wir externe Programme starten. Wir haben gezeigt, wie man den
Notepad-Editor startet und wie man ihn mit einer bestimmten Datei
öffnet.
Mit subprocess.run() können wir auch die Ausgabe des
Prozesses abfangen und mit ihr arbeiten, z.B. indem wir sie dekodieren
und ausgeben.
Mit subprocess.Popen() können wir einen Prozess starten
und die Kontrolle an das Hauptprogramm zurückgeben, während der Prozess
im Hintergrund ausgeführt wird.
In Python können wir auch Signale an Prozesse senden und den Ablauf von Prozessen steuern. Dies wird in diesem Beispiel nicht gezeigt.
import os
# Überprüfen und Ändern von Datei- und Verzeichnisberechtigungen
os.chmod('test.txt', 0o777) # setzt die Berechtigungen für die Datei test.txt auf rwxrwxrwx
print(os.stat('test.txt').st_mode) # gibt die Berechtigungen für die Datei test.txt zurück
# Ändern von Datei- und Verzeichniseigentümern
os.chown('test.txt', 1000, 1000) # setzt den Besitzer und die Gruppe für die Datei test.txt auf UID 1000 und GID 1000
print(os.stat('test.txt').st_uid) # gibt die UID des Besitzers für die Datei test.txt zurück
print(os.stat('test.txt').st_gid) # gibt die GID der Gruppe für die Datei test.txt zurückIn diesem Beispiel haben wir gezeigt, wie man Zugriffsrechte und Dateiattribute in Python überprüft und ändert.
Mit os.chmod() können wir die Zugriffsrechte für eine
Datei oder ein Verzeichnis ändern. Wir haben gezeigt, wie man die
Berechtigungen für eine Datei auf rwxrwxrwx setzt und wie
man die aktuellen Berechtigungen für eine Datei abruft.
Mit os.chown() können wir den Besitzer und die Gruppe
einer Datei oder eines Verzeichnisses ändern. Wir haben gezeigt, wie man
den Besitzer und die Gruppe für eine Datei auf UID 1000 und
GID 1000 setzt und wie man die aktuellen Besitzer- und
Gruppen-IDs für eine Datei abruft.
import os
import sys
# Erkennen des Betriebssystems mit os.name und sys.platform
print(os.name) # gibt den Namen des Betriebssystems aus (z.B. 'nt' für Windows)
print(sys.platform) # gibt den Namen des Betriebssystems aus (z.B. 'win32' für Windows)
# Verwenden plattformunabhängiger Funktionen für größere Portabilität
path = os.path.join('dir1', 'dir2', 'file.txt') # erstellt einen plattformunabhängigen Pfad (z.B. 'dir1/dir2/file.txt' auf Unix-Systemen oder 'dir1\dir2\file.txt' auf Windows-Systemen)
print(path)In diesem Beispiel haben wir gezeigt, wie man plattformübergreifende Funktionen in Python verwendet, um die Portabilität von Code zwischen verschiedenen Betriebssystemen zu erhöhen.
Mit os.name und sys.platform können wir das
aktuelle Betriebssystem erkennen. Wir haben gezeigt, wie man den Namen
des Betriebssystems ausgibt, z.B. nt für Windows oder
posix für Unix-Systeme.
Mit os.path.join() können wir plattformunabhängige Pfade
erstellen, die auf verschiedenen Betriebssystemen funktionieren. Wir
haben gezeigt, wie man einen Pfad aus mehreren Teilen erstellt, z.B.
dir1/dir2/file.txt auf Unix-Systemen oder
dir1\dir2\file.txt auf Windows-Systemen.
import os
# Manipulation von Pfaden und Dateinamen
print(os.path.abspath('test.txt')) # gibt den absoluten Pfad der Datei test.txt zurück
print(os.path.basename('/home/user/documents/test.txt')) # gibt den Dateinamen 'test.txt' zurück
print(os.path.dirname('/home/user/documents/test.txt')) # gibt das Verzeichnis '/home/user/documents' zurück
print(os.path.join('/home', 'user', 'documents', 'test.txt')) # gibt den plattformunabhängigen Pfad '/home/user/documents/test.txt' zurück
# Überprüfen von Pfad- und Dateiinformationen
print(os.path.exists('/home/user/documents/test.txt')) # gibt True zurück, wenn die Datei oder das Verzeichnis existiert
print(os.path.isdir('/home/user/documents')) # gibt True zurück, wenn es sich um ein Verzeichnis handelt
print(os.path.isfile('/home/user/documents/test.txt')) # gibt True zurück, wenn es sich um eine Datei handeltIn diesem Beispiel haben wir gezeigt, wie man das
os.path-Modul verwendet, um Pfade und Dateinamen in Python
zu manipulieren und Pfad- und Dateiinformationen zu überprüfen.
Mit os.path.abspath() können wir den absoluten Pfad
einer Datei oder eines Verzeichnisses ermitteln. Wir haben gezeigt, wie
man den absoluten Pfad der Datei test.txt ermittelt.
Mit os.path.basename() können wir den Dateinamen aus
einem Pfad extrahieren. Wir haben gezeigt, wie man den Dateinamen
test.txt aus dem Pfad
/home/user/documents/test.txt extrahiert.
Mit os.path.dirname() können wir das Verzeichnis aus
einem Pfad extrahieren. Wir haben gezeigt, wie man das Verzeichnis
/home/user/documents aus dem Pfad
/home/user/documents/test.txt extrahiert.
Mit os.path.join() können wir plattformunabhängige Pfade
aus verschiedenen Teilen erstellen. Wir haben gezeigt, wie man den Pfad
/home/user/documents/test.txt aus den Teilen
/home, user, documents und
test.txt erstellt.
Mit os.path.exists() können wir überprüfen, ob eine
Datei oder ein Verzeichnis existiert. Wir haben gezeigt, wie man
überprüft, ob die Datei /home/user/documents/test.txt
existiert.
Mit os.path.isdir() und os.path.isfile()
können wir überprüfen, ob es sich bei einem Pfad um ein Verzeichnis oder
eine Datei handelt. Wir haben gezeigt, wie man überprüft, ob
/home/user/documents ein Verzeichnis und
/home/user/documents/test.txt eine Datei ist.