Programiranje

Izdvajanje informacij o sistemu Linux in strojni opremi s pomočjo Pythona

Izdvajanje informacij o sistemu Linux in strojni opremi s pomočjo Pythona

Iskanje strojne in sistemske informacije v Linuxu je priročna in zanimiva naloga. Podrobnosti operacijskega sistema, uporabniške podrobnosti, podrobnosti pomnilnika, podrobnosti CPU-ja in še veliko več lahko pridobimo z uporabo preprostih kod python v Linux. Čeprav lahko veliko teh stvari izvedemo s pomočjo terminalskih in bash skript, je python precej bolj zanimiv.

Kot ljubitelj pythona želimo, da se vsa naloga opravi v tem jeziku, zato je pridobivanje sistemskih in strojnih informacij s pythonom odlična naloga. Prav tako se lahko hkrati učimo tako Linux kot python. Ta članek bo precej dolg, zato si vzemite čas, da preberete celoten članek in zaženete vsako kodo za boljše razumevanje.

Vsako kodo lahko kopirate v python IDE in jo zaženete. Če nimate python IDE ali želite primerjati med IDE, glejte naš vodnik po top 10 IDE za Linux. Mimogrede, kodo VS uporabljam kot IDE za pisanje kode. Je odprtokodna in enostavna za uporabo. Če želite uporabljati kodo Visual Studio, si oglejte naš vodnik za namestitev kode VS v Linux.

Izdvajanje sistemskih informacij s pomočjo Pythona

V tem članku bomo razvili program, ki bo izdal naslednje podrobnosti:

Za pridobitev teh podrobnosti bomo uporabili module, ki so prisotni v standardni knjižnici Python. Nekateri moduli, ki jih bomo uporabljali, so OS, platforma itd. Izvorno kodo sem dal tudi v Github; predstavitev programa si lahko ogledate tako, da ga prenesete iz mojega skladišča Github in ga zaženete.

Če želite slediti tej vadnici, je priporočljivo, da je v vašem sistemu nameščena najnovejša različica pythona. Sledite našemu vodniku za namestitev pythona v Linux.

Zahteve

Številne knjižnice, ki jih uporabljamo v tej vadnici, so prisotne v standardni knjižnici python. Namestiti moramo le paket psutil. Lahko ga preverite tako, da ga uvozite. Če psutil ni nameščen, ga lahko enostavno namestite z orodjem pip. Če želite namestiti pip v naš sistem, moramo v terminalu zagnati naslednji ukaz.

pip namestite psutil

Pridobivanje osnovnih podrobnosti o sistemu

Zdaj, ko ste namestili psutil, poglejmo, kako ga uporabiti za zbiranje OS z uporabo pythona. Uporabljali smo platformo modul, ki je prisoten v standardni knjižnici python za zbiranje teh osnovnih sistemskih informacij. Naslednjo kodo morate kopirati v svoj najljubši python IDE in jo zagnati.

# uvoz potrebnih modulov platforma za uvoz # tiskanje arhitekture tiska OS ("[+] Arhitektura:", platforma.architecture () [0]) # Prikaz tiskanja stroja ("[+] Machine:", platforma.machine ()) # tiskanje informacij o izdaji operacijskega sistema print ("[+] Release operacijskega sistema:", platforma.release ()) # natisne trenutno uporabljeno ime sistema print ("[+] System Name:", platforma.system ()) # V tej vrstici se natisne različica tiskanja vašega operacijskega sistema ("[+] Različica operacijskega sistema:", platforma.version ()) # To bo natisnilo vozlišče ali ime gostitelja vašega tiska operacijskega sistema ("[+] Node:" + platforma.node ()) # To bo natisnilo tiskanje vaše sistemske platforme ("[+] Platform:", platforma.platform ()) # S tem se natisne natis informacij o procesorju ("[+] Procesor:", platforma.procesor ())

V zgornjo kodo smo najprej uvozili modul platforme, ki je prisoten v standardni knjižnici python. Po uvozu modula uporabimo funkcije modula platforme, da dobimo zahtevane informacije. Ob zagonu kode v svoji napravi sem dobil naslednji izhod.

osnovne informacije o sistemu z uporabo pythona

Kot lahko vidimo v izhodu, program prikazuje veliko pomembnih podrobnosti o operacijskem sistemu, kot so sistemska arhitektura, platforma in še veliko več.

Uptime sistema

V pythonu lahko dobimo tudi čas zagona sistema in čas delovanja sistema. Moramo uporabiti psutil knjižnico, ki smo jo namestili že prej. Čas delovanja sistema lahko dobimo tako, da preberemo datoteko, ki deluje v imeniku proc v Linuxu.

Prosimo, kopirajte naslednjo kodo v vaš najljubši python IDE in jo zaženite.

from datetime import datetime import psutil # Uporaba knjižnice psutil za pridobitev zagonskega časa sistema boot_time = datetime.fromtimestamp (psutil.boot_time ()) print ("[+] Čas zagona sistema:", boot_time)

Ta koda bo natisnila čas zagona, kar pomeni čas zagona sistema. Ob zagonu programa na osebnem računalniku sem dobil naslednji izhod.

sistemski čas zagona z uporabo pythona

Prav tako lahko vidimo uptime sistema, to je čas, v katerem sistem deluje. Prebrati moramo datoteko uptime direktorija proc, kot je prikazano v spodnji kodi.

# pridobivanje časa zagona sistema iz datoteke uptime v direktoriju proc z odprtim ("/ proc / uptime", "r") kot f: uptime = f.preberi ().razdeli ("") [0].strip () uptime = int (float (uptime)) uptime_hours = uptime // 3600 uptime_minutes = (uptime% 3600) // 60 print ("[+] System Uptime:" + str (uptime_hours) + ":" + str ( uptime_minutes) + "ur")

Pri zagonu kode imam naslednji izhod.

uptime sistema z uporabo pythona

Procesi

S pomočjo pythona lahko dobimo tudi seznam trenutno izvajanih procesov, skupno število procesov. Zagnati moramo naslednjo kodo.

uvoz os pids = [] za poddir v os.listdir ('/ proc'): če je poddir.isdigit (): pids.append (subdir) print ('Skupno število procesov: 0'.format (len (pids)))

Pri zagonu kode sem dobil izhod, kot je prikazano na spodnji sliki.

skupno število procesov

Informacije o uporabniku

Seznam vseh uporabnikov, ki so prisotni v naši napravi Linux, lahko dobimo tudi s pomočjo knjižnice pwd, ki je prisotna v standardni knjižnici python. Če želite to narediti, morate kopirati naslednjo kodo v svoj python IDE in jo zagnati.

uvoz pwd uporabnikov = pwd.getpwall () za uporabnika v uporabnikih: print (uporabnik.ime_pw, uporabnik.pw_shell)

Ko zaženete zgornjo kodo, boste dobili vse uporabnike, ki so prisotni v vaši napravi, in njihove lupine.

Informacije o CPE

Zdaj smo zbrali podrobnosti o sistemu, da zberemo nekaj informacij o CPU, ki ga uporablja naša naprava. Informacije o procesorju iz našega računalnika Linux lahko zbiramo na dva načina. Prvi in ​​najlažji način je uporaba psutil modul, drugi način pa je branje datoteke / proc / cpuinfo.

Poglejmo, kako lahko s pomočjo knjižnice psutil dobimo informacije o CPU. Naslednjo kodo morate kopirati v svoj najljubši python IDE in jo zagnati.

# uvoz potrebnih paketov import psutil # Ta koda bo natisnila število prisotnih CPU jeder print ("[+] Število fizičnih jeder:", psutil.cpu_count (logic = False)) print ("[+] Število skupnih jeder:", psutil.cpu_count (logic = True)) print ("\ n") # S tem se natisne največja, najmanjša in trenutna frekvenca CPU cpu_frequency = psutil.cpu_freq () print (f "[+] Največja frekvenca: cpu_frequency.največ:.2f Mhz ") print (f" [+] Najmanjša frekvenca: cpu_frequency.min:.2f Mhz ") print (f" [+] Trenutna frekvenca: cpu_frequency.trenutno:.2f Mhz ") print (" \ n ") # To bo natisnilo uporabo CPE na jedro za i, odstotek v številu (psutil.cpu_percent (percpu = True, interval = 1)): print (f "[+] CPU Uporaba jedra i: odstotek%") print (f "[+] Skupna poraba CPU: psutil.cpu_percent ()% ")

Poglejmo, kaj se dogaja v zgornjem programu. V prvi vrstici smo uvozili psutil modul, ki bo pomagal zbrati podrobnosti o procesorju. V drugi in tretji vrstici uporabljamo cpu_count () funkcija psutil modul za štetje števila procesorskih jeder. Nato smo s funkcijo cpu_freq () dobili maksimalno, min in trenutno frekvenco. Končno uporabimo funkcijo cpu_percent za psutil, da poiščemo uporabo CPU-ja. Ob zagonu kode v mojem računalniku sem dobil naslednji izhod.

Informacije o CPU z uporabo psutil

Kot lahko vidimo v izhodu, da je program v terminalu izpisal vse podrobnosti CPU. Ime CPU lahko dobimo tudi z branjem datoteke / proc / cpuinfo s pomočjo pythona. Za to moramo zagnati naslednjo kodo.

# branje datoteke cpuinfo za tiskanje imena # CPU, ki je prisoten z odprtim ("/ proc / cpuinfo", "r") kot f: file_info = f.bralne črte () cpuinfo = [x.trak ().split (":") [1] za x v datoteki_info, če je "ime modela" v x] za indeks, element v enumerate (cpuinfo): print ("[+] Procesor" + str (indeks) + ":" + element )

Z datoteko / proc / cpuinfo lahko zbiramo tudi druge podatke o CPU. Prebral sem samo ime modela CPU, vendar lahko datoteko odprete in si ogledate druge informacije, ki so v njej, in jih lahko uporabite v programu. Tukaj je rezultat.

Informacije o CPU z uporabo datoteke cpuinfo

Zberite nekaj informacij o pomnilniku s pomočjo pythona.

Informacije o pomnilniku

Tako kot informacije o CPU lahko tudi iz dveh krajev dobimo podatke o pomnilniku. Eno uporablja orodje psutil, drugo pa branje datoteke proc / meminfo. Za začetek začnimo zbirati podatke o pomnilniku s pomočjo knjižnice psutil. Prosimo, kopirajte naslednjo kodo v svoj najljubši python IDE in jo zaženite.

# uvoz zahtevanih modulov uvoz psutil # pisanje funkcije za pretvorbo bajtov v GigaByte def bytes_to_GB (bajtov): gb = bajtov / (1024 * 1024 * 1024) gb = round (gb, 2) return gb # Uporaba funkcije virtual_memory () vrnil bo nabor virtual_memory = psutil.virtual_memory () #To bo natisnilo podrobnosti o primarnem pomnilniku print ("[+] Skupni pomnilnik prisoten:", bytes_to_GB (virtual_memory.skupaj), "Gb") print ("[+] Skupno razpoložljivo pomnilnik:", bytes_to_GB (virtual_memory.na voljo), "Gb") print ("[+] Skupno uporabljenega pomnilnika:", bytes_to_GB (virtual_memory.used), "Gb") print ("[+] Odstotek uporabljenega:", virtual_memory.%, "%") print ("\ n") # S tem se natisnejo podrobnosti swap pomnilnika, če so na voljo swap = psutil.swap_memory () print (f "[+] Skupni pomnilnik swap: bytes_to_GB (swap.skupaj) ") print (f" [+] Prosti swap pomnilnik: bytes_to_GB (swap.brezplačno) ") print (f" [+] Uporabljeni swap pomnilnik: bytes_to_GB (swap.used) ") print (f" [+] Odstotek uporabljenega: swap.odstotek% ")

Poglejmo, kaj se dogaja v zgornji kodi. V prvi vrstici smo uvozili knjižnico psutil, nato pa uporabili njeno funkcijo virtual_memory (), ki vrne nabor z informacijami navideznega pomnilnika. Nato s funkcijo swap_memory () dobimo informacije o swap pomnilniku. Zgradili smo tudi ime funkcije bytes_to_GB (), ki bo pretvorilo bajte v GigaBytes za boljšo berljivost. Dobil sem naslednji izhod.

informacije o pomnilniku z uporabo psutil

Datoteko meminfo, ki je prisotna v Linuxovem imeniku proc, lahko uporabimo tudi za pridobivanje informacij o pomnilniku, kot so skupni pomnilnik, uporabljeni pomnilnik itd. Če želite to narediti, zaženite naslednjo kodo.

# Zbiranje podatkov o pomnilniku iz datoteke meminfo print ("\ nBranje datoteke / proc / meminfo: \ n") z odprtim ("/ proc / meminfo", "r") kot f: lines = f.readlines () print ("[+]" + vrstice [0].strip ()) print ("[+]" + vrstice [1].strip ())

In tukaj je rezultat:

informacije o pomnilniku z uporabo datoteke meminfo

Informacije o disku

Do zdaj smo videli nekaj osnovnih podrobnosti o sistemu, podrobnosti o CPU in pomnilniku. Zdaj pa si oglejmo informacije o disku, ki je prisoten v naši napravi. Za pridobivanje informacij o disku bomo z modulom psutil olajšali nalogo in nam ni treba znova izumljati kolesa. Oglejte si spodnjo kodo, da vidite delujoč primer kode. Kodo lahko kopirate in zaženete v IDE svojega najljubšega pythona.

# uvoz potrebnih modulov import psutil # dostop do vseh particij diska disk_partitions = psutil.disk_partitions () # pisanje funkcije za pretvorbo bajtov v giga bajte def bytes_to_GB (bajtov): gb = bajtov / (1024 * 1024 * 1024) gb = krog (gb, 2) return gb # prikazuje informacije o particiji in uporabi za particijo v disk_partitions: print ("[+] Naprava za particijo:", particija.naprava) print ("[+] Datotečni sistem:", particija.fstype) print ("[+] Mountpoint:", particija.mountpoint) disk_usage = psutil.disk_usage (particija.mountpoint) print ("[+] Skupni prostor na disku:", bytes_to_GB (disk_usage.skupaj), "GB") print ("[+] Prosti prostor na disku:", bytes_to_GB (disk_usage.brezplačno), "GB") print ("[+] Uporabljeni prostor na disku:", bytes_to_GB (disk_usage.rabljeno), "GB") print ("[+] Odstotek uporabljenega:", disk_usage.odstotkov, "%") # pridobi statistiko branja / pisanja od boot disk_rw = psutil.disk_io_counters () print (f "[+] Skupno branje od zagona: bytes_to_GB (disk_rw.read_bytes) GB ") print (f" [+] Skupen zagon sice Write: bytes_to_GB (disk_rw.write_bytes) GB ")

V kodo smo najprej uvozili knjižnico psutil, ki je potrebna za zbiranje informacij o disku. Nato smo uporabili njegovo disk_partitions () funkcija, da dobite seznam particij diska na voljo z njihovimi informacijami. Za uporabo teh particij uporabljamo tudi funkcijo disk_usage (). Na koncu uporabimo še disk_io_counters () funkcija za prikaz celotnega branja / pisanja diska od zagona.  Tu je primer izhoda.

informacije o disku z uporabo pythona

Odvisno od diska in particij boste morda dobili kakšen drug izhod.

Informacije o omrežju

Informacije o omrežju sistema lahko zberemo tudi s pomočjo knjižnice psutil. Če želite to narediti, kopirajte naslednjo kodo v svoj python IDE in jo zaženite.

# uvoz potrebnih modulov import psutil # pisanje funkcije za pretvorbo bajtov v gigabajte def bytes_to_GB (bajtov): gb = bajtov / (1024 * 1024 * 1024) gb = round (gb, 2) return gb # zbiranje vseh omrežnih vmesnikov ( virtualni in fizični) iz sistema if_addrs = psutil.net_if_addrs () # tiskanje informacij vsakega omrežnega vmesnika za ime_vmesnika, naslovi_vmesnika v if_addrs.items (): za naslov v vmesnikih_naslov: print ("\ n") print (f "Vmesnik:", vmesnik_ime) if str (address.družina) == 'AddressFamily.AF_INET ': print ("[+] Naslov IP:", naslov.naslov) print ("[+] Mrežna maska:", naslov.netmask) print ("[+] Broadcast IP:", naslov.oddaja) elif str (naslov.družina) == 'AddressFamily.AF_PACKET ': print ("[+] MAC Address:", naslov.naslov) print ("[+] Mrežna maska:", naslov.netmask) print ("[+] Broadcast MAC:", naslov.oddajanje) # pridobivanje statistike branja / pisanja omrežja od zagonskega tiskanja ("\ n") net_io = psutil.net_io_counters () print ("[+] Skupno poslanih bajtov:", bytes_to_GB (net_io.bytes_sent)) print ("[+] Skupno prejetih bajtov:", bytes_to_GB (net_io.bytes_recv))

Tu je primer izhoda iz mojega testnega računalnika.

omrežne informacije z uporabo pythona

Druge informacije o strojni opremi

Lahko uporabimo tudi psutil knjižnico, da dobite nekatere druge informacije o strojni opremi, kot je informacije o bateriji, hitrosti vrtenja ventilatorjev, informacije o temperaturi različnih naprav, itd. Poglejmo, kako lahko to naredimo enega za drugim.

Če uporabljate prenosni računalnik, lahko uporabite psutil.sensors_battery (), da dobite informacije o bateriji. Če želite to narediti, kopirajte in zaženite naslednjo kodo v vašem Python IDE.

uvozi baterijo psutil = psutil.sensors_battery () print ("[+] Odstotek baterije:", okrogel (baterija.odstotkov, 1), "%") print ("[+] Preostali čas baterije:", okrogel (baterija.secsleft / 3600, 2), "hr") print ("[+] Power Plugged:", baterija.power_plugged)

V zgornji kodi uporabljamo sensors_battery () funkcija, da dobite podatke o bateriji, na primer odstotek baterije, preostali čas, priključen napajalnik ali ne. Ob zagonu kode v mojem računalniku sem dobil naslednji izhod.

informacije o bateriji z uporabo pythona

Knjižnico psutil lahko uporabimo tudi za pridobivanje vrtljajev vrtljajev ventilatorja (vrtljaji na minuto) s pomočjo funkcije sensors_fan (), medtem ko ventilator deluje. Psutil lahko uporabite tudi za določanje temperature različnih naprav. To lahko storimo s pomočjo funkcije sensors_temperatures () psutila. To prepuščam vam za vajo.

Končni scenarij

Zdaj pa združimo vse kode z izdelavo končnega programa, da zberemo vse podrobnosti o sistemu in strojni opremi, o katerih smo razpravljali. Lahko kopirate naslednji program in ga zaženete v svojem python IDE.

# uvoz potrebnih modulov platforma za uvoz iz datuma in časa datum in čas uvoz psutil import os # Najprej bomo natisnili osnovne informacije o sistemu # z uporabo modula platforme print ("\ n \ t \ t \ t Osnovne informacije o sistemu \ n") print (" [+] Arhitektura: ", platforma.arhitektura () [0]) print ("[+] Stroj:", platforma.machine ()) print ("[+] Izdaja operacijskega sistema:", platforma.release ()) print ("[+] Ime sistema:", platforma.system ()) print ("[+] Različica operacijskega sistema:", platforma.version ()) print ("[+] Node:" + platforma.node ()) print ("[+] Platforma:", platforma.platform ()) print ("[+] Procesor:", platforma.procesor ()) # Uporaba knjižnice psutil za pridobitev zagonskega časa sistema boot_time = datetime.fromtimestamp (psutil.boot_time ()) print ("[+] System Boot Time:", boot_time) # pridobivanje časa zagona sistema iz datoteke uptime v direktoriju proc z odprtim ("/ proc / uptime", "r") kot f: uptime = f.preberi ().razdeli ("") [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") # pridobivanje skupnega števila procesov, ki se trenutno izvajajo pids = [] za poddir v os.listdir ('/ proc'): če je poddir.isdigit (): pids.append (subdir) print ('Skupno število procesov: 0'.format (len (pids))) # Prikaz tiskanja informacij o CPU ("\ n \ t \ t \ t Informacije o CPU \ n") # Ta koda bo natisnila število trenutnih jeder CPU ("[+] Število fizičnih jedra: ", psutil.cpu_count (logic = False)) print ("[+] Število skupnih jeder:", psutil.cpu_count (logic = True)) print ("\ n") # S tem se natisne največja, najmanjša in trenutna frekvenca CPU cpu_frequency = psutil.cpu_freq () print (f "[+] Največja frekvenca: cpu_frequency.največ:.2f Mhz ") print (f" [+] Najmanjša frekvenca: cpu_frequency.min:.2f Mhz ") print (f" [+] Trenutna frekvenca: cpu_frequency.trenutno:.2f Mhz ") print (" \ n ") # To bo natisnilo uporabo CPE na jedro za i, odstotek v številu (psutil.cpu_percent (percpu = True, interval = 1)): print (f "[+] CPU Uporaba jedra i: odstotek%") print (f "[+] Skupna poraba CPU: psutil.cpu_percent ()% ") # branje datoteke cpuinfo za tiskanje imena # CPU-ja z odprtim (" / proc / cpuinfo "," r ") kot f: file_info = f.bralne črte () cpuinfo = [x.trak ().split (":") [1] za x v datoteki_info, če je "ime modela" v x] za indeks, element v enumerate (cpuinfo): print ("[+] Procesor" + str (indeks) + ":" + element ) # pisanje funkcije za pretvorbo bajtov v GigaByte def bytes_to_GB (bajtov): gb = bajtov / (1024 * 1024 * 1024) gb = round (gb, 2) return gb # Z uporabo funkcije virtual_memory () bo vrnil nabor virtual_memory = psutil.virtual_memory () print ("\ n \ t \ t \ t Informacije o pomnilniku \ n") # To bo natisnilo natis podrobnosti o primarnem pomnilniku ("[+] Skupni pomnilnik prisoten:", bytes_to_GB (virtual_memory.skupaj), "Gb") print ("[+] Skupno razpoložljivo pomnilnik:", bytes_to_GB (virtual_memory.na voljo), "Gb") print ("[+] Skupno uporabljenega pomnilnika:", bytes_to_GB (virtual_memory.used), "Gb") print ("[+] Odstotek uporabljenega:", virtual_memory.%, "%") print ("\ n") # S tem se natisnejo podrobnosti swap pomnilnika, če so na voljo swap = psutil.swap_memory () print (f "[+] Skupni pomnilnik swap: bytes_to_GB (swap.skupaj) ") print (f" [+] Prosti swap pomnilnik: bytes_to_GB (swap.brezplačno) ") print (f" [+] Uporabljeni swap pomnilnik: bytes_to_GB (swap.used) ") print (f" [+] Odstotek uporabljenega: swap.odstotkov% ") # Zbiranje podatkov o pomnilniku iz datoteke meminfo print (" \ nBranje datoteke / proc / meminfo: \ n ") z odprtim (" / proc / meminfo "," r ") kot f: lines = f.readlines () print ("[+]" + vrstice [0].strip ()) print ("[+]" + vrstice [1].strip ()) # dostop do vseh particij diska disk_partitions = psutil.disk_partitions () print ("\ n \ t \ t \ t Disk Information \ n") # prikaz particije in informacij o uporabi particije v disk_partitions: print ("[+] Naprava za particijo:", particija.naprava) print ("[+] Datotečni sistem:", particija.fstype) print ("[+] Mountpoint:", particija.mountpoint) disk_usage = psutil.disk_usage (particija.mountpoint) print ("[+] Skupni prostor na disku:", bytes_to_GB (disk_usage.skupaj), "GB") print ("[+] Prosti prostor na disku:", bytes_to_GB (disk_usage.brezplačno), "GB") print ("[+] Uporabljeni prostor na disku:", bytes_to_GB (disk_usage.rabljeno), "GB") print ("[+] Odstotek uporabljenega:", disk_usage.odstotkov, "%") # pridobi statistiko branja / pisanja od boot disk_rw = psutil.disk_io_counters () print (f "[+] Skupno branje od zagona: bytes_to_GB (disk_rw.read_bytes) GB ") print (f" [+] Skupen zagon sice Write: bytes_to_GB (disk_rw.write_bytes) GB ") # zbiranje vseh omrežnih vmesnikov (navideznih in fizičnih) iz sistema if_addrs = psutil.net_if_addrs () print ("\ n \ t \ t \ t Informacije o omrežju \ n") # tiskanje informacij o omrežnih vmesnikih eah za ime_vmesnika, naslovi_vmesnikov v if_addrs.items (): za naslov v vmesnikih_naslov: natisni (f "Vmesnik:", vmesnik_ime), če str (naslov.družina) == 'AddressFamily.AF_INET ': print ("[+] Naslov IP:", naslov.naslov) print ("[+] Mrežna maska:", naslov.netmask) print ("[+] Broadcast IP:", naslov.oddaja) elif str (naslov.družina) == 'AddressFamily.AF_PACKET ': print ("[+] MAC Address:", naslov.naslov) print ("[+] Mrežna maska:", naslov.netmask) print ("[+] Broadcast MAC:", naslov.oddajanje) # pridobivanje statistike branja / pisanja omrežja od zagona net_io = psutil.net_io_counters () print ("[+] Skupaj poslanih bajtov:", bajtov do_GB (net_io.bytes_sent)) print ("[+] Skupno prejetih bajtov:", bytes_to_GB (net_io.bytes_recv)) # Pridobivanje informacij o bateriji baterija = psutil.sensors_battery () print ("\ n \ t \ t \ t Informacije o bateriji \ n") print ("[+] Odstotek baterije:", okrogla (baterija).odstotkov, 1), "%") print ("[+] Preostali čas baterije:", okrogel (baterija.secsleft / 3600, 2), "hr") print ("[+] Power Plugged:", baterija.power_plugged)

Ob zagonu te kode bomo dobili naslednji izhod.

orodje za pridobivanje sistemskih in strojnih informacij s pomočjo pythona

Če želite izboljšati program ali želite prenesti kodo, lahko to storite na moji strani Github.

Zaključek

To je celotna vadnica o zbiranju nekaterih zanimivih informacij o sistemu in strojni opremi s pomočjo pythona. Če imate kakršne koli težave s kopiranjem kode, lahko celotno izvorno kodo najdete tudi v mojem repoju Github. Morda boste želeli videti tudi naš vodnik o delu z operacijskim sistemom v pythonu za nekaj bolj zanimivih popravkov pythona.

5 najboljših arkadnih iger za Linux
Dandanes so računalniki resni stroji, ki se uporabljajo za igre na srečo. Če ne boste mogli dobiti novega visokega rezultata, boste vedeli, kaj mislim...
Bitka za Wesnoth 1.13.6 Razvoj izdan
Bitka za Wesnoth 1.13.6, ki je izšel prejšnji mesec, je šesta razvojna izdaja v 1.13.x series in prinaša številne izboljšave, predvsem uporabniški vme...
Kako namestiti League Of Legends na Ubuntu 14.04
Če ste ljubitelj League of Legends, je to priložnost, da preizkusite League of Legends. Upoštevajte, da LOL podpira PlayOnLinux, če uporabljate Linux....