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:
- Osnovni detalji o sustavu
- Pojedinosti CPU-a
- Informacije o memoriji
- Upotreba diska
- Informacije o mreži
- Ostali detalji o hardveru
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.
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.
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.
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.
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.
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.
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.
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 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.
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.
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.
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.
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.