Programiranje

Izdvajanje informacija o sustavu i hardveru Linuxa pomoću Pythona

Izdvajanje informacija o sustavu i hardveru Linuxa pomoću Pythona

Pronalaženje podataka o hardveru i sustavu u Linuxu zgodan je i zanimljiv zadatak. Pojedinosti operativnog sustava, korisničke podatke, detalje memorije, detalje CPU-a i još mnogo toga možemo izvući pomoću jednostavnih python kodova na Linuxu. Iako mnoge od tih stvari možemo izvesti pomoću terminala i bash skriptiranja, python je puno zanimljiviji.

Kao ljubitelj pythona, želimo da se svaki zadatak obavlja na tom jeziku, pa je izdvajanje sistemskih i hardverskih podataka s pythonom izvrstan zadatak. Također, istovremeno možemo učiti i Linux i python. Ovaj će članak biti prilično dug, zato uzmite vremena da pročitate cijeli članak i pokrenete svaki kôd radi boljeg razumijevanja.

Možete kopirati svaki od kodova u python IDE i pokrenuti ga. Ako nemate python IDE ili želite usporediti IDE, pogledajte naš vodič za prvih 10 IDE-a za Linux. Inače, koristim VS kod kao IDE za pisanje koda. Otvoreni je izvor i jednostavan za upotrebu. Ako želite koristiti Visual Studio Code, pogledajte naš vodič za instaliranje VS koda na Linux.

Izdvajanje informacija o sustavu pomoću Pythona

U ovom ćemo članku razviti program koji će izdvojiti sljedeće detalje:

Da bismo dobili ove detalje, poslužit ćemo se modulima prisutnima u standardnoj knjižnici Python. Neki od modula koje ćemo koristiti su OS, platforma itd. Također sam stavio izvorni kod u Github; demo program možete vidjeti preuzimanjem iz mog Github spremišta i pokretanjem.

Da biste slijedili ovaj vodič, preporučuje se instaliranje najnovije verzije pythona u vaš sustav. Možete slijediti naš vodič za instaliranje pythona na Linux.

Zahtjevi

Mnoge knjižnice koje koristimo u ovom vodiču prisutne su u standardnoj knjižnici python. Trebamo samo instalirati paket psutil. Možete ga provjeriti uvozom. Ako nemate instaliran psutil, možete ga jednostavno instalirati pomoću alata pip. Da bismo instalirali pip u naš sustav, u terminalu moramo pokrenuti sljedeću naredbu.

pip instalirati psutil

Dobivanje osnovnih pojedinosti o sustavu

Sad kad ste instalirali psutil, pogledajmo kako ga koristiti za prikupljanje OS-a pomoću pythona. Koristili smo platforma modul prisutan u python standardnoj knjižnici za prikupljanje ovih osnovnih informacija o sustavu. Morate kopirati sljedeći kôd u svoj omiljeni python IDE i pokrenuti ga.

# uvoz potrebnih modula platforma za uvoz # ispis Arhitekture ispisa OS-a ("[+] Arhitektura:", platforma.architecture () [0]) # Prikazivanje ispisa stroja ("[+] Stroj:", platforma.machine ()) # ispis podataka o izdanju operativnog sustava print ("[+] Izdanje operativnog sustava:", platforma.release ()) # ispisuje trenutno korišteno ime sustava print ("[+] Naziv sustava:", platforma.system ()) # Ovaj će redak ispisati verziju vašeg operativnog sustava print ("[+] Verzija operativnog sustava:", platforma.version ()) # Ovo će ispisati čvor ili naziv hosta vašeg operativnog sustava print ("[+] Node:" + platforma.node ()) # Ovo će ispisati ispis vaše platforme sustava ("[+] Platforma:", platforma.platform ()) # Ovo će ispisati ispis podataka o procesoru ("[+] Procesor:", platforma.procesor())

U gornji kod prvo smo uvezli modul platforme prisutan u standardnoj knjižnici python. Nakon uvoza modula koristimo funkcije modula platforme da bismo dobili potrebne informacije. Pri pokretanju koda na svom uređaju dobio sam sljedeći izlaz.

osnovne informacije o sustavu pomoću pythona

Kao što možemo vidjeti u izlazu, program prikazuje mnoge važne detalje o operativnom sustavu poput arhitekture sustava, platforme i još mnogo toga.

Vrijeme rada sustava

Također možemo dobiti vrijeme pokretanja sustava i vrijeme rada sustava u pythonu. Moramo koristiti psutil knjižnicu koju smo ranije instalirali. Neprekidni rad sustava možemo dobiti čitanjem neprekidne datoteke koja se nalazi u direktoriju proc u Linuxu.

Kopirajte sljedeći kôd u svoj omiljeni python IDE i pokrenite ga.

from datetime import datetime import psutil # Korištenje knjižnice psutil za dobivanje vremena pokretanja sustava boot_time = datetime.od vremenskog žiga (psutil.boot_time ()) print ("[+] Vrijeme pokretanja sustava:", boot_time)

Ovaj će kôd ispisati vrijeme pokretanja, što znači vrijeme kada je sustav pokrenut. Pri pokretanju programa na računalu dobio sam sljedeći izlaz.

vrijeme pokretanja sustava pomoću pythona

Također možemo vidjeti vrijeme rada sustava, a to je vrijeme tijekom kojeg sustav radi. Moramo pročitati datoteku vremena rada direktorija proc, kao što je prikazano u donjem kodu.

# dobivanje vremena pokretanja sustava iz aptime datoteke u direktoriju proc s otvorenim ("/ proc / uptime", "r") kao f: uptime = f.čitati().podijeliti ("") [0].strip () uptime = int (float (uptime)) uptime_hours = uptime // 3600 uptime_minutes = (uptime% 3600) // 60 print ("[+] Vrijeme rada sustava:" + str (uptime_hours) + ":" + str ( uptime_minutes) + "sati")

Dobio sam sljedeći izlaz o pokretanju koda.

vrijeme rada sustava python

Procesi

Također možemo koristiti python za dobivanje popisa trenutno pokrenutih procesa, ukupnog broja procesa. Moramo pokrenuti sljedeći kod.

import os pids = [] za poddir u os.listdir ('/ proc'): ako je poddir.isdigit (): pids.dodaj (poddir) print ('Ukupan broj procesa: 0'.format (len (pids)))

Pokretanjem koda dobio sam izlaz, kao što je prikazano na donjoj slici.

ukupan broj procesa

informacije o korisniku

Također možemo dobiti popis svih korisnika prisutnih na našem Linux uređaju pomoću knjižnice pwd prisutne u standardnoj knjižnici python. Da biste to učinili, morate kopirati sljedeći kôd u svoj python IDE i pokrenuti ga.

uvoz pwd korisnika = pwd.getpwall () za korisnika u korisnicima: print (user.ime pw, korisnik.pw_shell)

Pokretanjem gornjeg koda dobit ćete sve korisnike koji su prisutni na vašem uređaju i njihove ljuske.

Informacije o procesoru

Sada smo prikupili detalje o sustavu kako bismo prikupili neke informacije o CPU-u koji koristi naš stroj. Informacije o procesoru s našeg Linux stroja možemo prikupiti na dva načina. Prvi i najlakši način je koristiti psutil modul, a drugi je način čitanjem datoteke / proc / cpuinfo.

Pogledajmo kako možemo koristiti knjižnicu psutil za dobivanje informacija o procesoru. Morate kopirati sljedeći kôd u svoj omiljeni python IDE i pokrenuti ga.

# uvoz potrebnih paketa import psutil # Ovaj kôd ispisat će broj prisutnih CPU jezgri print ("[+] Broj fizičkih jezgri:", psutil.cpu_count (logic = False)) print ("[+] Broj ukupnih jezgri:", psutil.cpu_count (logic = True)) print ("\ n") # Ovo će ispisati maksimalnu, minimalnu i trenutnu frekvenciju procesora cpu_frequency = psutil.cpu_freq () print (f "[+] Maksimalna frekvencija: cpu_frequency.maks .:.2f Mhz ") ispis (f" [+] Min. Frekvencija: cpu_frequency.min:.2f Mhz ") print (f" [+] Trenutna frekvencija: cpu_frequency.Trenutno:.2f Mhz ") print (" \ n ") # Ovo će ispisati upotrebu CPU-a po jezgri za i, postotak u enumerate (psutil.cpu_percent (percpu = True, interval = 1)): print (f "[+] CPU Upotreba jezgre i: posto%") print (f "[+] Ukupna upotreba CPU-a: psutil.cpu_percent ()% ")

Pogledajmo što se događa u gore navedenom programu. U prvom smo retku uvezli psutil modul koji će pomoći u prikupljanju detalja o procesoru. U drugom i trećem retku koristimo cpu_count () funkcija psutil modul za brojanje broja CPU jezgri. Tada smo koristili funkciju cpu_freq () da bismo dobili maksimalnu, min i trenutnu frekvenciju. Napokon koristimo funkciju cpu_percent za psutil kako bismo pronašli upotrebu CPU-a. Pokretanjem koda na svom stroju, dobio sam sljedeći izlaz.

Informacije o procesoru pomoću psutila

Kao što možemo vidjeti na izlazu da je sve detalje o CPU-u program iznio na terminalu. Naziv CPU-a možemo dobiti i čitanjem datoteke / proc / cpuinfo pomoću pythona. Da bismo to učinili, trebamo pokrenuti sljedeći kod.

# čitanje cpuinfo datoteke za ispis imena # CPU-a koji je otvoren s open ("/ proc / cpuinfo", "r") kao f: file_info = f.linije za čitanje () cpuinfo = [x.traka().split (":") [1] za x u datoteci_info ako je "naziv modela" u x] za indeks, stavka u nabrajanju (cpuinfo): print ("[+] Procesor" + str (indeks) + ":" + stavka )

Također možemo prikupiti druge podatke o procesoru pomoću datoteke / proc / cpuinfo. Pročitao sam samo naziv CPU modela, ali možete otvoriti datoteku i vidjeti ostale podatke koji se nalaze u datoteci te ih možete koristiti u programu. Evo rezultata.

Informacije o procesoru pomoću cpuinfo datoteke

Prikupimo neke informacije o memoriji pomoću pythona.

Informacije o memoriji

Kao i podaci o CPU, također možemo dobiti podatke o memoriji s dva mjesta. Jedan koristi alat psutil, a drugi je čitanje datoteke proc / meminfo. Za početak započnimo sa prikupljanjem podataka o memoriji pomoću knjižnice psutil. Kopirajte sljedeći kod u svoj omiljeni python IDE i pokrenite ga.

# uvoz potrebnih modula uvoz psutil # pisanje funkcije za pretvaranje bajtova u GigaByte def bytes_to_GB (bajtova): gb = bajtova / (1024 * 1024 * 1024) gb = round (gb, 2) return gb # Korištenje funkcije virtual_memory () vratit će korpicu virtual_memory = psutil.virtual_memory () #Ovo će ispisati detalje o primarnoj memoriji ispis ("[+] Ukupna prisutna memorija:", bytes_to_GB (virtual_memory.ukupno), "Gb") print ("[+] Ukupna raspoloživa memorija:", bajtova_ na_GB (virtualni memorijski podatak).dostupno), "Gb") print ("[+] Ukupno upotrijebljene memorije:", bytes_to_GB (virtual_memory.used), "Gb") print ("[+] Postotak korištenja:", virtual_memory.posto, "%") print ("\ n") # Ovo će ispisati detalje swap memorije ako je dostupno swap = psutil.swap_memory () print (f "[+] Ukupna swap memorija: bytes_to_GB (swap.ukupno) ") print (f" [+] Oslobodi swap memoriju: bytes_to_GB (swap.besplatno) ") print (f" [+] Korištena swap memorija: bytes_to_GB (swap.koristi se) ") print (f" [+] Korišteni postotak: swap.posto% ")

Pogledajmo što se događa u gornjem kodu. U prvom smo retku uvezli knjižnicu psutil, a zatim upotrijebili njezinu funkciju virtual_memory () koja vraća skup s podacima o virtualnoj memoriji. Zatim koristimo funkciju swap_memory () da bismo dobili informacije swap memorije. Također smo izgradili ime funkcije bytes_to_GB (), koje će pretvoriti bajtove u GigaBytes za bolju čitljivost. Dobio sam sljedeći izlaz.

informacije o memoriji pomoću psutila

Također možemo koristiti meminfo datoteku koja se nalazi u Linuxovom direktoriju proc da bismo dohvatili podatke o memoriji poput ukupne memorije, korištene memorije itd. Da biste to učinili, pokrenite sljedeći kod.

# Prikupljanje podataka o memoriji iz ispisa datoteke meminfo ("\ nČitanje datoteke / proc / meminfo: \ n") s open ("/ proc / meminfo", "r") kao f: lines = f.readlines () print ("[+]" + redovi [0].strip ()) print ("[+]" + crte [1].traka())

I evo rezultata:

informacije o memoriji pomoću meminfo datoteke

Informacije o disku

Do sada smo vidjeli neke osnovne detalje o sustavu, detalje o procesoru, detalje o memoriji. Pogledajmo sada podatke o disku koji se nalazi u našem stroju. Da bismo izdvojili podatke s diska, upotrijebit ćemo modul psutil kako bismo olakšali svoj zadatak i ne moramo ponovno otkrivati ​​kotačić. Pogledajte donji kod da biste vidjeli radni primjer koda. Možete kopirati kôd i pokrenuti ga u vašem omiljenom pythonovom IDE-u.

# uvoz potrebnih modula import psutil # pristup svim particijama diska disk_partitions = psutil.disk_partitions () # pisanje funkcije za pretvaranje bajtova u giga bajtove def bytes_to_GB (bajtova): gb = bajtova / (1024 * 1024 * 1024) gb = zaokruži (gb, 2) return gb # prikazuje informacije o particiji i upotrebi za particiju u disk_partitions: print ("[+] Uređaj za particiju:", particija.uređaj) print ("[+] Sustav datoteka:", particija.fstype) print ("[+] Mountpoint:", particija.točka montiranja) disk_usage = psutil.disk_usage (particija.mountpoint) print ("[+] Ukupni prostor na disku:", bytes_to_GB (disk_usage.ukupno), "GB") print ("[+] Slobodni prostor na disku:", bytes_to_GB (disk_usage.besplatno), "GB") print ("[+] Korišteni prostor na disku:", bytes_to_GB (disk_usage.rabljeno), "GB") print ("[+] Postotak korišteno:", disk_usage.posto, "%") # dobiti statistiku čitanja / pisanja od boot disk_rw = psutil.disk_io_counters () print (f "[+] Ukupno čitanje od pokretanja: bytes_to_GB (disk_rw.read_bytes) GB ") print (f" [+] Ukupno zapisivanje sice boot: bytes_to_GB (disk_rw.write_bytes) GB ")

U kod smo prvo uvezli knjižnicu psutil koja je potrebna za prikupljanje podataka o disku. Tada smo koristili njegovo disk_particije () funkcija za dobivanje popisa particija diska s njihovim informacijama. Također koristimo funkciju disk_usage () da bismo iskoristili ove particije. Konačno, koristimo disk_io_counters () funkcija za dobivanje ukupnog čitanja / pisanja diska od pokretanja.  Evo primjera rezultata.

informacije o disku pomoću pythona

Možete dobiti neki drugi izlaz, ovisno o disku i particijama.

Informacije o mreži

Također možemo prikupiti mrežne informacije sustava pomoću knjižnice psutil. Da biste to učinili, kopirajte sljedeći kôd u svoj python IDE i pokrenite ga.

# uvoz potrebnih modula import psutil # pisanje funkcije za pretvaranje bajtova u gigabajte def bytes_to_GB (bajtova): gb = bajtova / (1024 * 1024 * 1024) gb = round (gb, 2) return gb # prikupljanje svih mrežnih sučelja ( virtualni i fizički) iz sustava if_addrs = psutil.net_if_addrs () # ispis informacija svakog mrežnog sučelja za naziv_sučelja, adrese_sučelja u if_addrs.items (): za adresu u sučeljima_adrese: print ("\ n") print (f "Interface:", interface_name) if str (address.obitelj) == 'AdresaFamily.AF_INET ': ispis ("[+] IP adresa:", adresa.adresa) print ("[+] Mrežna maska:", adresa.netmask) print ("[+] Emitirana IP:", adresa.emitiranje) elif str (adresa.obitelj) == 'AdresaFamily.AF_PACKET ': print ("[+] MAC adresa:", adresa.adresa) print ("[+] Mrežna maska:", adresa.netmask) print ("[+] Emitirani MAC:", adresa.emisija) # dobivanje statistike čitanja / pisanja mreže od boot print ("\ n") net_io = psutil.net_io_counters () print ("[+] Ukupno poslanih bajtova:", bajtova_do_GB (net_io.bytes_sent)) print ("[+] Ukupno primljenih bajtova:", bytes_to_GB (net_io.bytes_recv))

Evo primjera rezultata s mog testnog računala.

mrežne informacije pomoću pythona

Ostale informacije o hardveru

Također možemo koristiti psutil knjižnica kako biste dobili neke druge hardverske informacije poput informacije o bateriji, brzini rotacije ventilatora, informacijama o temperaturi raznih uređaja, itd. Pogledajmo kako to možemo učiniti jedan po jedan.

Ako koristite prijenosno računalo, tada možete koristiti psutil.senzori_baterija () za dobivanje podataka o bateriji. Da biste to učinili, kopirajte i pokrenite sljedeći kôd u svom Python IDE-u.

uvoziti psutil bateriju = psutil.sensors_battery () print ("[+] Postotak baterije:", okrugli (baterija.posto, 1), "%") print ("[+] Preostalo vrijeme baterije:", okrugla (baterija.secsleft / 3600, 2), "hr") print ("[+] Power Plugged:", baterija.power_plugged)

U gornjem kodu koristimo senzori_baterija () funkcija za dobivanje podataka o bateriji, poput postotka baterije, preostalog vremena, napajanja ili ne. Pokretanjem koda na svom stroju, dobio sam sljedeći izlaz.

informacije o bateriji pomoću pythona

Također možemo koristiti knjižnicu psutil za dobivanje broja okretaja ventilatora (okretaja u minuti) pomoću funkcije sensors_fan () dok ventilator radi. Psutil se također može koristiti za mjerenje temperature različitih uređaja. To možemo učiniti pomoću funkcije sensors_temperatures () psutila. Ostavljam ovo da vi napravite za vježbu.

Završna skripta

Sad kombinirajmo sve kodove s izradom konačnog programa kako bismo prikupili sve detalje o sustavu i hardveru o kojima smo razgovarali. Možete kopirati sljedeći program i pokrenuti ga u vašem python IDE-u.

# uvoz potrebnih modula platforma za uvoz iz datetime import datetime import psutil import os # Prvo ćemo ispisati osnovne informacije o sustavu # pomoću modula platforme print ("\ n \ t \ t \ t Osnovne informacije o sistemu \ n") print (" [+] Arhitektura: ", platforma.arhitektura () [0]) print ("[+] Stroj:", platforma.machine ()) print ("[+] Izdanje operativnog sustava:", platforma.release ()) print ("[+] Naziv sustava:", platforma.system ()) print ("[+] Verzija operativnog sustava:", platforma.verzija ()) print ("[+] Čvor:" + platforma.node ()) print ("[+] Platforma:", platforma.platform ()) print ("[+] Procesor:", platforma.processor ()) # Korištenje knjižnice psutil za dobivanje vremena pokretanja sustava boot_time = datetime.od vremenskog žiga (psutil.boot_time ()) print ("[+] Vrijeme pokretanja sustava:", boot_time) # dobivanje vremena pokretanja sustava iz datoteke neprekidnog rada u direktoriju proc s otvorenim ("/ proc / uptime", "r") kao f: uptime = f.čitati().podijeliti ("") [0].strip () uptime = int (float (uptime)) uptime_hours = uptime // 3600 uptime_minutes = (uptime% 3600) // 60 print ("[+] Vrijeme rada sustava:" + str (uptime_hours) + ":" + str ( uptime_minutes) + "hours") # dobivanje ukupnog broja procesa koji se trenutno izvode pids = [] za poddir u os.listdir ('/ proc'): ako je poddir.isdigit (): pids.dodaj (poddir) print ('Ukupan broj procesa: 0'.format (len (pids))) # Prikazivanje ispisa CPU podataka ("\ n \ t \ t \ t Podaci o CPU \ n") # Ovaj kôd ispisuje broj prisutnih CPU jezgri ("[+] Broj fizičkih jezgre: ", psutil.cpu_count (logic = False)) print ("[+] Broj ukupnih jezgri:", psutil.cpu_count (logic = True)) print ("\ n") # Ovo će ispisati maksimalnu, minimalnu i trenutnu frekvenciju procesora cpu_frequency = psutil.cpu_freq () print (f "[+] Maksimalna frekvencija: cpu_frequency.maks .:.2f Mhz ") ispis (f" [+] Min. Frekvencija: cpu_frequency.min:.2f Mhz ") print (f" [+] Trenutna frekvencija: cpu_frequency.Trenutno:.2f Mhz ") print (" \ n ") # Ovo će ispisati upotrebu CPU-a po jezgri za i, postotak u enumerate (psutil.cpu_percent (percpu = True, interval = 1)): print (f "[+] CPU Upotreba jezgre i: posto%") print (f "[+] Ukupna upotreba CPU-a: psutil.cpu_percent ()% ") # čitanje cpuinfo datoteke radi ispisa imena # CPU-a prisutnog s open (" / proc / cpuinfo "," r ") kao f: file_info = f.linije za čitanje () cpuinfo = [x.traka().split (":") [1] za x u datoteci_info ako je "naziv modela" u x] za indeks, stavka u nabrajanju (cpuinfo): print ("[+] Procesor" + str (indeks) + ":" + stavka ) # pisanje funkcije za pretvaranje bajtova u GigaByte def bytes_to_GB (bajtova): gb = bajtova / (1024 * 1024 * 1024) gb = round (gb, 2) return gb # Korištenjem funkcije virtual_memory () vratit će korpu virtual_memory = psutil.virtual_memory () print ("\ n \ t \ t \ t Podaci o memoriji \ n") # Ovo će ispisati ispis detalja o primarnoj memoriji ("[+] Ukupna prisutna memorija:", bytes_to_GB (virtual_memory.ukupno), "Gb") print ("[+] Ukupna raspoloživa memorija:", bajtova_ do_GB (virtualna memorija).dostupno), "Gb") ispis ("[+] Ukupna upotrijebljena memorija:", bajtova do_GB (virtualni_pomenuti.used), "Gb") print ("[+] Postotak korištenja:", virtual_memory.posto, "%") print ("\ n") # Ovo će ispisati detalje swap memorije ako je dostupno swap = psutil.swap_memory () print (f "[+] Ukupna swap memorija: bytes_to_GB (swap.ukupno) ") print (f" [+] Oslobodi swap memoriju: bytes_to_GB (swap.besplatno) ") print (f" [+] Korištena swap memorija: bytes_to_GB (swap.koristi se) ") print (f" [+] Korišteni postotak: swap.posto% ") # Prikupljanje podataka o memoriji iz ispisa meminfo datoteke (" \ nČitanje datoteke / proc / meminfo: \ n ") s otvorenim (" / proc / meminfo "," r ") kao f: lines = f.readlines () print ("[+]" + redovi [0].strip ()) print ("[+]" + crte [1].strip ()) # pristup svim particijama diska disk_partitions = psutil.disk_partitions () print ("\ n \ t \ t \ t Podaci o disku \ n") # prikazuje particiju i informacije o korištenju particije u disk_partitions: print ("[+] Uređaj za particiju:", particija.uređaj) print ("[+] Sustav datoteka:", particija.fstype) print ("[+] Mountpoint:", particija.točka montiranja) disk_usage = psutil.disk_usage (particija.mountpoint) print ("[+] Ukupni prostor na disku:", bytes_to_GB (disk_usage.ukupno), "GB") print ("[+] Slobodni prostor na disku:", bytes_to_GB (disk_usage.besplatno), "GB") print ("[+] Korišteni prostor na disku:", bytes_to_GB (disk_usage.rabljeno), "GB") print ("[+] Postotak korišteno:", disk_usage.posto, "%") # dobiti statistiku čitanja / pisanja od boot disk_rw = psutil.disk_io_counters () print (f "[+] Ukupno čitanje od pokretanja: bytes_to_GB (disk_rw.read_bytes) GB ") print (f" [+] Ukupno zapisivanje sice boot: bytes_to_GB (disk_rw.write_bytes) GB ") # prikuplja sva mrežna sučelja (virtualna i fizička) iz sustava if_addrs = psutil.net_if_addrs () print ("\ n \ t \ t \ t Podaci o mreži \ n") # ispis podataka eah mrežnih sučelja za ime_sučelja, adrese_adresera u if_addrs.items (): za adresu u interface_addresses: print (f "Interface:", interface_name) if str (address.obitelj) == 'AdresaFamily.AF_INET ': ispis ("[+] IP adresa:", adresa.adresa) print ("[+] Mrežna maska:", adresa.netmask) print ("[+] Emitirana IP:", adresa.emitiranje) elif str (adresa.obitelj) == 'AdresaFamily.AF_PACKET ': print ("[+] MAC adresa:", adresa.adresa) print ("[+] Mrežna maska:", adresa.netmask) print ("[+] Emitirani MAC:", adresa.emitiranje) # dobivanje statistike čitanja / pisanja mreže od pokretanja net_io = psutil.net_io_counters () print ("[+] Ukupno poslanih bajtova:", bajtova_ na_GB (net_io.bytes_sent)) print ("[+] Ukupno primljenih bajtova:", bytes_to_GB (net_io.bytes_recv)) # Dobivanje podataka o bateriji baterija = psutil.sensors_battery () print ("\ n \ t \ t \ t Podaci o bateriji \ n") print ("[+] Postotak baterije:", okrugli (baterija.posto, 1), "%") print ("[+] Preostalo vrijeme baterije:", okrugla (baterija.secsleft / 3600, 2), "hr") print ("[+] Power Plugged:", baterija.power_plugged)

Pokretanjem ovog koda dobit ćemo sljedeći izlaz.

alat za izdvajanje informacija o sustavu i hardveru pomoću pythona

Ako želite poboljšati program ili želite preuzeti kôd, to možete učiniti na mojoj Github stranici.

Zaključak

Ovo je cjelovit vodič o prikupljanju nekih zanimljivih informacija o sustavu i hardveru pomoću pythona. Ako imate bilo kakvih problema s kopiranjem koda, puni izvorni kôd možete pronaći i u mom Github repo-u. Možda ćete htjeti pogledati i naš vodič za rad s operativnim sustavom u pythonu za neke zanimljivije ugađanja pythona.

Kontrolirajte i upravljajte kretanjem miša između više monitora u sustavu Windows 10
Dvostruki zaslon upravitelja miša omogućuje vam kontrolu i konfiguriranje kretanja miša između više monitora, usporavajući njegovo kretanje blizu gran...
WinMouse vam omogućuje prilagodbu i poboljšanje kretanja pokazivača miša na Windows računalu
Ako želite poboljšati zadane funkcije pokazivača miša, upotrijebite besplatni program WinMouse. Dodaje više značajki koje će vam pomoći da na najbolji...
Lijevi gumb miša ne radi u sustavu Windows 10
Ako s prijenosnim računalom ili stolnim računalom koristite namjenski miš, ali lijevi gumb miša ne radi u sustavu Windows 10/8/7 iz nekog razloga evo ...