Programmierung

Extrahieren von Linux-System- und Hardwareinformationen mit Python Using

Extrahieren von Linux-System- und Hardwareinformationen mit Python Using

Das Auffinden von Hardware- und Systeminformationen unter Linux ist eine praktische und interessante Aufgabe. Wir können Betriebssystemdetails, Benutzerdetails, Speicherdetails, CPU-Details und vieles mehr mit einfachen Python-Codes unter Linux extrahieren. Obwohl wir viele dieser Dinge mit Terminal- und Bash-Scripting ausführen können, ist Python viel interessanter.

Als Python-Liebhaber möchten wir, dass jede Aufgabe mit dieser Sprache erledigt wird, daher ist das Extrahieren von System- und Hardwareinformationen mit Python eine großartige Aufgabe. Außerdem können wir gleichzeitig Linux und Python lernen con. Dieser Artikel wird ziemlich lang sein, also nehmen Sie sich die Zeit, den gesamten Artikel zu lesen und jeden Code zum besseren Verständnis auszuführen.

Sie können jeden der Codes in einer Python-IDE kopieren und ausführen. Wenn Sie keine Python-IDE haben oder zwischen IDEs vergleichen möchten, lesen Sie unseren Leitfaden zu den Top 10 der IDE für Linux. Übrigens verwende ich den VS Code als IDE zum Schreiben von Code. Es ist Open Source und einfach zu bedienen. Wenn Sie Visual Studio Code verwenden möchten, lesen Sie unsere Anleitung zur Installation von VS-Code unter Linux.

Extrahieren von Systeminformationen mit Python

In diesem Artikel werden wir ein Programm entwickeln, das die folgenden Details extrahiert:

Um diese Details zu erhalten, verwenden wir die Module, die in der Python-Standardbibliothek vorhanden sind. Einige der Module, die wir verwenden werden, sind Betriebssystem, Plattform usw. Ich habe auch den Quellcode in Github eingefügt; Sie können eine Demo des Programms sehen, indem Sie es von meinem Github-Repository herunterladen und ausführen.

Um diesem Tutorial zu folgen, wird empfohlen, die neueste Python-Version auf Ihrem System installiert zu haben. Sie können unserer Anleitung zur Installation von Python unter Linux folgen.

Bedarf

Viele der Bibliotheken, die wir in diesem Tutorial verwenden, sind in der Python-Standardbibliothek vorhanden. Wir müssen nur das Paket installieren psutil. Sie können es überprüfen, indem Sie es importieren. Wenn Sie psutil nicht installiert haben, können Sie es einfach mit dem Pip-Tool installieren. Um pip in unserem System zu installieren, müssen wir den folgenden Befehl im Terminal ausführen.

pip install psutil

Abrufen grundlegender Systemdetails

Nachdem Sie psutil installiert haben, sehen wir uns an, wie Sie es verwenden können, um das Betriebssystem mit Python zu sammeln. Wir benutzten die Plattform Modul in der Python-Standardbibliothek zum Sammeln dieser grundlegenden Systeminformationen. Sie müssen den folgenden Code in Ihre bevorzugte Python-IDE kopieren und ausführen.

# Importieren der erforderlichen Module Importplattform # Drucken der Architektur des Betriebssystems print("[+] Architecture :", Plattform.Architektur()[0]) # Anzeige der Maschine print("[+] Maschine :", Plattform.machine()) # Drucken der Versionsinformationen des Betriebssystems print("[+] Operating System Release:", Plattform.release()) # gibt den aktuell verwendeten Systemnamen aus print("[+] System Name ::,platform.system()) # Diese Zeile gibt die Version Ihres Betriebssystems aus print("[+] Betriebssystemversion:", Plattform.version()) # Dadurch wird der Node oder Hostname Ihres Betriebssystems gedruckt print("[+] Node: " + platform.node()) # Dies druckt Ihre Systemplattform print("[+] Platform:", platform.platform()) # Dies gibt die Prozessorinformationen aus print("[+] Processor:",platform.Prozessor())

Im obigen Code haben wir zuerst das Plattformmodul importiert, das in der Python-Standardbibliothek vorhanden ist. Nach dem Import des Moduls verwenden wir die Funktionen des Plattformmoduls, um die erforderlichen Informationen zu erhalten. Beim Ausführen des Codes auf meinem Gerät habe ich die folgende Ausgabe erhalten.

grundlegende Systeminformationen mit Python

Wie wir in der Ausgabe sehen können, zeigt das Programm viele wichtige Details zum Betriebssystem wie Systemarchitektur, Plattform und vieles mehr an.

Systembetriebszeit

Wir können auch die Systemstartzeit und die Systembetriebszeit in Python abrufen. Wir müssen die verwenden psutil Bibliothek, die wir zuvor installiert haben. Wir können die Systembetriebszeit abrufen, indem wir die im Verzeichnis proc unter Linux vorhandene Betriebszeitdatei lesen.

Bitte kopieren Sie den folgenden Code in Ihre bevorzugte Python-IDE und führen Sie ihn aus.

from datetime import datetime import psutil # Verwenden der psutil-Bibliothek, um die Bootzeit des Systems zu erhalten boot_time = datetime.fromtimestamp(psutil.boot_time()) print("[+] Systemstartzeit:", boot_time)

Dieser Code gibt die Bootzeit aus, d. h. die Zeit, zu der das System gebootet wurde. Beim Ausführen des Programms auf meinem PC habe ich die folgende Ausgabe erhalten.

Systemstartzeit mit Python

Wir können auch die Systembetriebszeit sehen, d. h. die Zeit, für die das System läuft. Wir müssen die Uptime-Datei des proc-Verzeichnisses lesen, wie im folgenden Code gezeigt.

# Abrufen der Systembetriebszeit aus der uptime-Datei im proc-Verzeichnis mit open("/proc/uptime", "r") als f: uptime = f.lesen().split(" ")[0].strip() uptime = int(float(uptime)) uptime_hours = uptime // 3600 uptime_minutes = (uptime % 3600) // 60 print("[+] System Uptime : " + str(uptime_hours) + ":" + str( uptime_minutes) + " Stunden")

Ich habe die folgende Ausgabe beim Ausführen des Codes.

Systemverfügbarkeit mit Python

Prozesse

Wir können auch Python verwenden, um eine Liste der derzeit ausgeführten Prozesse zu erhalten, Gesamtanzahl der Prozesse. Wir müssen den folgenden Code ausführen.

import os pids = [] für Unterverzeichnis in os.listdir('/proc'): if subdir.isdigit(): pids.append(subdir) print('Gesamtanzahl der Prozesse: 0'.format(len(pids)))

Beim Ausführen des Codes habe ich die Ausgabe erhalten, wie im folgenden Bild gezeigt.

Gesamtzahl der Prozesse

Nutzerinformation

Wir können auch die Liste aller Benutzer auf unserem Linux-Gerät mithilfe der pwd-Bibliothek abrufen, die in der Python-Standardbibliothek vorhanden ist. Dazu müssen Sie den folgenden Code in Ihre Python-IDE kopieren und ausführen.

pwd-Benutzer importieren = pwd.getpwall() für Benutzer in Benutzern: print(user.pw_name, Benutzer.pw_shell)

Wenn Sie den obigen Code ausführen, erhalten Sie alle auf Ihrem Gerät vorhandenen Benutzer und ihre Shells.

CPU-Informationen

Wir haben jetzt die Systemdetails gesammelt, um einige Informationen über die von unserem Computer verwendete CPU zu sammeln. Wir können CPU-Informationen von unserem Linux-Rechner auf zwei Arten sammeln. Der erste und einfachste Weg ist die Verwendung der psutil Modul und der zweite Weg ist das Lesen der Datei /proc/cpuinfo.

Lassen Sie uns sehen, wie wir die psutil-Bibliothek verwenden können, um die CPU-Informationen zu erhalten. Sie müssen den folgenden Code in Ihre bevorzugte Python-IDE kopieren und ausführen.

# Importieren der erforderlichen Pakete import psutil # Dieser Code gibt die Anzahl der vorhandenen CPU-Kerne aus print("[+] Anzahl der physischen Kerne :", psutil.cpu_count(logical=False)) print("[+] Anzahl der Gesamtkerne :", psutil.cpu_count(logical=True)) print("\n") # Dies gibt die maximale, minimale und aktuelle CPU-Frequenz aus cpu_frequency = psutil.cpu_freq() print(f"[+] Max. Frequenz: cpu_frequency.max:.2fMhz") print(f"[+] Min. Frequenz: cpu_frequency.Mindest:.2fMhz") print(f"[+] Aktuelle Frequenz: cpu_frequency.Strom:.2fMhz") print("\n") # Dies druckt die CPU-Auslastung pro Kern für i, Prozentsatz in enumerate(psutil.cpu_percent(percpu=True, interval=1)): print(f"[+] CPU Usage of Core i : percentage%") print(f"[+] Total CPU Usage : psutil.cpu_percent()%")

Lassen Sie uns sehen, was im obigen Programm passiert. In der ersten Zeile importierten wir die psutil Modul, das hilft, die CPU-Details zu sammeln. In der zweiten und dritten Zeile verwenden wir die cpu_count() Funktion der psutil Modul zum Zählen der Anzahl der CPU-Kerne. Dann haben wir die Funktion cpu_freq() verwendet, um die maximale, minimale und aktuelle Frequenz zu erhalten get. Schließlich verwenden wir die cpu_percent-Funktion von psutil, um die CPU-Auslastung zu ermitteln. Beim Ausführen des Codes auf meinem Computer habe ich die folgende Ausgabe erhalten.

CPU-Informationen mit psutil

Wie wir in der Ausgabe sehen können, wurden alle CPU-Details vom Programm im Terminal ausgegeben. Wir können den Namen der CPU auch erhalten, indem wir die Datei /proc/cpuinfo mit Python lesen. Dazu müssen wir den folgenden Code ausführen.

# Lesen der cpuinfo-Datei, um den Namen der # CPU auszugeben, die mit open("/proc/cpuinfo", "r") als f vorhanden ist: file_info = f.readlines() cpuinfo = [x.Streifen().split(":")[1] for x in file_info if "model name" in x] for index, item in enumerate(cpuinfo): print("[+] Prozessor " + str(index) + " : " + item )

Wir können auch andere CPU-Informationen mithilfe der Datei /proc/cpuinfo sammeln. Ich lese nur den CPU-Modellnamen, aber Sie können die Datei öffnen und die anderen in der Datei enthaltenen Informationen sehen und im Programm verwenden. Hier ist die Ausgabe.

CPU-Informationen mit CPUinfo-Datei

Lassen Sie uns mit Python einige Informationen über den Speicher sammeln.

Speicherinformationen

Wie die CPU-Informationen können wir auch Speicherinformationen von zwei Stellen abrufen. Eine verwendet das psutil-Tool und die zweite ist das Lesen der Datei proc/meminfo. Beginnen wir mit dem Sammeln von Speicherinformationen mithilfe der psutil-Bibliothek. Bitte kopieren Sie den folgenden Code in Ihre bevorzugte Python-IDE und führen Sie ihn aus.

# Importieren der benötigten Module import psutil # Schreiben einer Funktion zum Konvertieren von Bytes in GigaByte def bytes_to_GB(bytes): gb = bytes/(1024*1024*1024) gb = round(gb, 2) return gb # Verwenden der virtual_memory() Funktion es wird ein Tupel virtual_memory = psutil zurückgeben.virtual_memory() #Dies druckt die Details des primären Speichers print("[+] Total Memory Present :", bytes_to_GB(virtual_memory.total), "Gb") print("[+] Total Memory Available:", bytes_to_GB(virtual_memory.verfügbar), "Gb") print("[+] Total Memory Used :", bytes_to_GB(virtual_memory.verwendet), "Gb") print("[+] Prozentsatz verwendet:", virtual_memory.Prozent, "%") print("\n") # Dies druckt die Details des Auslagerungsspeichers, falls verfügbar swap = psutil.swap_memory() print(f"[+] Gesamtauslagerungsspeicher :bytes_to_GB(swap.total)") print(f"[+] Freier Swap-Speicher : bytes_to_GB(swap.free)") print(f"[+] Verwendeter Swap-Speicher : bytes_to_GB(swap.verwendet)") print(f"[+] Prozentsatz verwendet: swap.Prozent%")

Lassen Sie uns sehen, was im obigen Code vor sich geht. In der ersten Zeile haben wir die psutil-Bibliothek importiert und dann ihre virtual_memory()-Funktion verwendet, die ein Tupel mit virtuellen Speicherinformationen zurückgibt. Dann verwenden wir die Funktion swap_memory(), um die Informationen des Swap-Speichers zu erhalten. Wir haben auch einen Funktionsnamen bytes_to_GB() gebaut, der die Bytes zur besseren Lesbarkeit in GigaBytes umwandelt. Ich habe folgende Ausgabe erhalten.

Speicherinformationen mit psutil

Wir können auch die im Linux-Verzeichnis proc vorhandene meminfo-Datei verwenden, um Speicherinformationen wie Gesamtspeicher, verwendeter Speicher usw. abzurufen. Führen Sie dazu den folgenden Code aus.

# Sammeln von Speicherinformationen aus der Meminfo-Datei print("\nLesen der /proc/meminfo-Datei: \n") mit open("/proc/meminfo", "r") als f: lines = f.readlines() print("[+] " + lines[0].strip()) print("[+] " + Zeilen[1].Streifen())

Und hier ist die Ausgabe:

Speicherinformationen mit meminfo-Datei

Festplatteninformationen

Bis jetzt haben wir einige grundlegende Systemdetails, CPU-Details, Speicherdetails gesehen. Lassen Sie uns nun die Informationen über die in unserem Computer vorhandene Festplatte anzeigen. Um Festplatteninformationen zu extrahieren, verwenden wir das psutil-Modul, um unsere Aufgabe zu vereinfachen, und wir müssen das Rad nicht neu erfinden. Sehen Sie sich den folgenden Code an, um ein funktionierendes Beispiel für den Code zu sehen. Sie können den Code kopieren und in der IDE Ihres Lieblingspythons ausführen.

# erforderliche Module importieren import psutil # Zugriff auf alle Festplattenpartitionen disk_partitions = psutil.disk_partitions() # Schreiben einer Funktion zum Konvertieren von Bytes in Gigabytes def bytes_to_GB(bytes): gb = bytes/(1024*1024*1024) gb = round(gb, 2) return gb # Anzeige der Partitions- und Nutzungsinformationen für die Partition in disk_partitions: print("[+] Partitionsgerät: ", partition.Gerät) print("[+] Dateisystem: ", Partition.fstype) print("[+] Mountpoint : ", partition.Einhängepunkt) disk_usage = psutil.disk_usage(partition.mountpoint) print("[+] Gesamter Speicherplatz ::, bytes_to_GB(disk_usage.total), "GB") print("[+] Freier Speicherplatz ::, bytes_to_GB(disk_usage.frei), "GB") print("[+] Verwendeter Speicherplatz ::, bytes_to_GB(disk_usage.verwendet), "GB") print("[+] Prozentsatz verwendet:", disk_usage.Prozent, "%") # Lese-/Schreibstatistik seit Bootvorgang abrufen disk_rw = psutil.disk_io_counters() print(f"[+] Total Reads since Boot : bytes_to_GB(disk_rw.read_bytes) GB") print(f"[+] Total Write sice boot : bytes_to_GB(disk_rw.write_bytes) GB")

Im Code haben wir zuerst die psutil-Bibliothek importiert, die zum Sammeln der Festplatteninformationen erforderlich ist. Dann haben wir es benutzt disk_partitions() Funktion, um die Liste der verfügbaren Festplattenpartitionen mit ihren Informationen zu erhalten. Wir verwenden auch die Funktion disk_usage(), um die Verwendung dieser Partitionen zu erhalten. Schließlich verwenden wir die disk_io_counters() Funktion, um die gesamten Lese-/Schreibzugriffe der Festplatte seit dem Booten zu erhalten.  Hier ist eine Beispielausgabe.

Festplatteninformationen mit Python

Abhängig von Ihrer Festplatte und Ihren Partitionen erhalten Sie möglicherweise eine andere Ausgabe.

Netzwerkinformationen

Wir können auch die Netzwerkinformationen des Systems mithilfe der psutil-Bibliothek sammeln. Kopieren Sie dazu den folgenden Code in Ihre Python-IDE und führen Sie ihn aus.

# Importieren der erforderlichen Module import psutil # Schreiben einer Funktion zum Konvertieren der Bytes in Gigabyte def bytes_to_GB(bytes): gb = bytes/(1024*1024*1024) gb = round(gb, 2) return gb # Sammeln aller Netzwerkschnittstellen ( virtuell und physisch) vom System if_addrs = psutil.net_if_addrs() # druckt die Informationen jeder Netzwerkschnittstelle für interface_name, interface_addresses in if_addrs.items(): für Adresse in interface_addresses: print("\n") print(f"Interface :", interface_name) if str(address.Familie) == 'AdresseFamilie.AF_INET': print("[+] IP-Adresse:", Adresse.Adresse) print("[+] Netzmaske:", Adresse.Netzmaske) print("[+] Broadcast IP:", Adresse.Sendung) elif str(Adresse.Familie) == 'AdresseFamilie.AF_PACKET': print("[+] MAC-Adresse:", Adresse.Adresse) print("[+] Netzmaske:", Adresse.Netzmaske) print("[+] Broadcast MAC ::,Adresse.Broadcast) # Abrufen der Lese-/Schreibstatistiken des Netzwerks seit dem Booten print("\n") net_io = psutil.net_io_counters() print("[+] Gesamtzahl der gesendeten Bytes:", bytes_to_GB(net_io.bytes_sent)) print("[+] Total Bytes Received:", bytes_to_GB(net_io.bytes_recv))

Hier ist eine Beispielausgabe von meinem Test-PC.

Netzwerkinformationen mit Python

Andere Hardware-Informationen

Wir können auch die psutil Bibliothek, um einige andere Hardwareinformationen zu erhalten, wie z Batterieinformationen, Lüfterdrehzahl, Temperaturinformationen verschiedener Geräte, usw. Mal sehen, wie wir das einzeln machen können.

Wenn Sie einen Laptop verwenden, können Sie die psutil.Sensoren_Batterie() Funktion zum Abrufen der Batterieinformationen. Kopieren Sie dazu den folgenden Code und führen Sie ihn in Ihrer Python-IDE aus.

psutil-Batterie importieren = psutil.sensor_battery() print("[+] Batterieprozentsatz:", round(batterie.Prozent, 1), "%") print("[+] Akkulaufzeit übrig :", round(Akku.secsleft/3600, 2), "hr") print("[+] Power Plugged :", Batterie.power_plugged)

Im obigen Code verwenden wir die Sensoren_Batterie() Funktion, um Informationen zum Akku abzurufen, z. B. Akkuprozentsatz, verbleibende Zeit, Strom eingesteckt oder nicht. Beim Ausführen des Codes auf meinem Computer habe ich die folgende Ausgabe erhalten.

Batterieinformationen mit Python

Wir können auch die psutil-Bibliothek verwenden, um die Drehzahl des Lüfters (Umdrehungen pro Minute) mithilfe der Funktion sensor_fan() abzurufen, während der Lüfter läuft. Das psutil kann auch verwendet werden, um die Temperatur verschiedener Geräte zu ermitteln. Wir können dies mit der Funktion sensor_temperatures () des psutil . tun. Das überlasse ich dir zum Üben.

Endgültiges Skript

Lassen Sie uns nun alle Codes mit dem Erstellen eines endgültigen Programms kombinieren, um alle System- und Hardwaredetails zu sammeln, die wir besprochen haben. Sie können das folgende Programm kopieren und in Ihrer Python-IDE ausführen.

# Importieren der erforderlichen Module Importieren der Plattform von datetime import datetime import psutil import os # Zuerst drucken wir die grundlegenden Systeminformationen # mit dem Plattformmodul print("\n\t\t\t Basic System Information\n") print(" [+] Architektur ::, Plattform.Architektur()[0]) print("[+] Maschine:", Plattform.machine()) print("[+] Betriebssystemversion:", Plattform.release()) print("[+] Systemname ::,Plattform.system()) print("[+] Betriebssystemversion:", Plattform.version()) print("[+] Knoten: " + Plattform.node()) print("[+] Plattform:", Plattform.Plattform()) print("[+] Prozessor ::,plattform.Prozessor()) # Verwenden der psutil-Bibliothek, um die Bootzeit des Systems zu erhalten boot_time = datetime.fromtimestamp(psutil.boot_time()) print("[+] System Boot Time:", boot_time) # Abrufen der Systemlaufzeit aus der uptime-Datei im proc-Verzeichnis mit open("/proc/uptime", "r") als f: uptime = f.lesen().split(" ")[0].strip() uptime = int(float(uptime)) uptime_hours = uptime // 3600 uptime_minutes = (uptime % 3600) // 60 print("[+] System Uptime : " + str(uptime_hours) + ":" + str( uptime_minutes) + "hours") # Abrufen der Gesamtanzahl der Prozesse, die derzeit ausgeführt werden pids = [] for subdir in os.listdir('/proc'): if subdir.isdigit(): pids.append(subdir) print('Gesamtanzahl der Prozesse: 0'.format(len(pids))) # Anzeige der CPU-Information print("\n\t\t\t CPU Information\n") # Dieser Code gibt die Anzahl der vorhandenen CPU-Kerne aus print("[+] Number of Physical Number Kerne :", psutil.cpu_count(logical=False)) print("[+] Anzahl der Gesamtkerne :", psutil.cpu_count(logical=True)) print("\n") # Dies gibt die maximale, minimale und aktuelle CPU-Frequenz aus cpu_frequency = psutil.cpu_freq() print(f"[+] Max. Frequenz: cpu_frequency.max:.2fMhz") print(f"[+] Min. Frequenz: cpu_frequency.Mindest:.2fMhz") print(f"[+] Aktuelle Frequenz: cpu_frequency.Strom:.2fMhz") print("\n") # Dies druckt die CPU-Auslastung pro Kern für i, Prozentsatz in enumerate(psutil.cpu_percent(percpu=True, interval=1)): print(f"[+] CPU Usage of Core i : percentage%") print(f"[+] Total CPU Usage : psutil.cpu_percent()%") # Lesen der cpuinfo-Datei, um den Namen der # CPU auszugeben, die mit open("/proc/cpuinfo", "r") als f vorhanden ist: file_info = f.readlines() cpuinfo = [x.Streifen().split(":")[1] for x in file_info if "model name" in x] for index, item in enumerate(cpuinfo): print("[+] Prozessor " + str(index) + " : " + item ) # Schreiben einer Funktion zur Konvertierung von Bytes in GigaByte def bytes_to_GB(bytes): gb = bytes/(1024*1024*1024) gb = round(gb, 2) return gb # Mit der Funktion virtual_memory() wird ein Tupel virtual_memory zurückgegeben = psutil.virtual_memory() print("\n\t\t\t Memory Information\n") #Dies druckt die primären Speicherdetails print("[+] Total Memory Present :", bytes_to_GB(virtual_memory.total), "Gb") print("[+] Total Memory Available:", bytes_to_GB(virtual_memory.verfügbar), "Gb") print("[+] Total Memory Used :", bytes_to_GB(virtual_memory.verwendet), "GB") print("[+] Prozentsatz verwendet:", virtual_memory.Prozent, "%") print("\n") # Dies druckt die Details des Auslagerungsspeichers, falls verfügbar swap = psutil.swap_memory() print(f"[+] Gesamtauslagerungsspeicher :bytes_to_GB(swap.total)") print(f"[+] Freier Swap-Speicher : bytes_to_GB(swap.free)") print(f"[+] Verwendeter Swap-Speicher : bytes_to_GB(swap.verwendet)") print(f"[+] Prozentsatz verwendet: swap.Prozent%") # Speicherinformationen aus der Meminfo-Datei sammeln print("\nLesen der /proc/meminfo-Datei: \n") mit open("/proc/meminfo", "r") als f: lines = f.readlines() print("[+] " + lines[0].strip()) print("[+] " + Zeilen[1].strip()) # Zugriff auf alle Festplattenpartitionen disk_partitions = psutil.disk_partitions() print("\n\t\t\t Disk Information\n") # Anzeige der Partitions- und Nutzungsinformationen für die Partition in disk_partitions: print("[+] Partition Device : ", partition.Gerät) print("[+] Dateisystem: ", Partition.fstype) print("[+] Mountpoint : ", partition.Einhängepunkt) disk_usage = psutil.disk_usage(partition.mountpoint) print("[+] Gesamter Speicherplatz ::, bytes_to_GB(disk_usage.total), "GB") print("[+] Freier Speicherplatz ::, bytes_to_GB(disk_usage.frei), "GB") print("[+] Verwendeter Speicherplatz ::, bytes_to_GB(disk_usage.verwendet), "GB") print("[+] Prozentsatz verwendet:", disk_usage.Prozent, "%") # Lese-/Schreibstatistik seit Bootvorgang abrufen disk_rw = psutil.disk_io_counters() print(f"[+] Total Reads since Boot : bytes_to_GB(disk_rw.read_bytes) GB") print(f"[+] Total Write sice boot : bytes_to_GB(disk_rw.write_bytes) GB") # Sammeln aller Netzwerkschnittstellen (virtuell und physisch) vom System if_addrs = psutil.net_if_addrs() print("\n\t\t\t Network Information\n") # druckt die Informationen aller Netzwerkschnittstellen für interface_name, interface_addresses in if_addrs.items(): für Adresse in interface_addresses: print(f"Interface:", interface_name) if str(address.Familie) == 'AdresseFamilie.AF_INET': print("[+] IP-Adresse:", Adresse.Adresse) print("[+] Netzmaske:", Adresse.Netzmaske) print("[+] Broadcast IP:", Adresse.Sendung) elif str(Adresse.Familie) == 'AdresseFamilie.AF_PACKET': print("[+] MAC-Adresse:", Adresse.Adresse) print("[+] Netzmaske:", Adresse.Netzmaske) print("[+] Broadcast MAC ::,Adresse.Broadcast) # Abrufen der Lese-/Schreibstatistik des Netzwerks seit dem Booten net_io = psutil.net_io_counters() print("[+] Gesamtzahl der gesendeten Bytes:", bytes_to_GB(net_io.bytes_sent)) print("[+] Total Bytes Received:", bytes_to_GB(net_io.bytes_recv)) # Abrufen der Batterieinformationen Batterie = psutil.sensor_battery() print("\n\t\t\t Batterieinformationen\n") print("[+] Batterieprozentsatz :", round(batterie.Prozent, 1), "%") print("[+] Akkulaufzeit übrig :", round(Akku.secsleft/3600, 2), "hr") print("[+] Power Plugged :", Batterie.power_plugged)

Beim Ausführen dieses Codes erhalten wir die folgende Ausgabe.

ein Tool zum Extrahieren von System- und Hardwareinformationen mit Python

Wenn Sie das Programm verbessern oder den Code herunterladen möchten, können Sie dies von meiner Github-Seite aus tun.

Fazit

Dies ist das vollständige Tutorial zum Sammeln einiger interessanter System- und Hardwareinformationen mit Python. Wenn Sie Probleme beim Kopieren des Codes haben, finden Sie den vollständigen Quellcode auch in meinem Github-Repository. Vielleicht möchten Sie auch unseren Leitfaden zum Arbeiten mit dem Betriebssystem in Python lesen, um weitere interessante Python-Optimierungen zu erhalten.

Weisen Sie Ihre Maustasten mit der X-Mouse Button Control für verschiedene Software unterschiedlich zu
Vielleicht benötigen Sie ein Tool, mit dem sich die Steuerung Ihrer Maus bei jeder von Ihnen verwendeten Anwendung ändern kann. In diesem Fall können ...
Microsoft Sculpt Touch Wireless-Maus Bewertung
Ich habe vor kurzem gelesen, dass Microsoft Sculpt Touch kabellose Maus und beschloss, sie zu kaufen. Nachdem ich es eine Weile benutzt hatte, beschlo...
AppyMouse On-Screen Trackpad und Mauszeiger für Windows Tablets
Tablet-Benutzer vermissen oft den Mauszeiger, insbesondere wenn sie die Laptops gewohnt sind. Die Touchscreen-Smartphones und -Tablets bieten viele Vo...