Python yra universali programavimo kalba, kurią galite naudoti rašydami įvairių tipų GUI ir CLI pagrįstas programas. Jei pradėsite naudoti Python, nėra geresnio būdo sustiprinti savo mokymąsi nei dirbant su mini projektais.
Puikus „Python“ projekto pavyzdys yra ping sweeper, nedidelė priemonė, tikrinanti tinklo pagrindinius kompiuterius. Šis scenarijus apims pagrindines programavimo koncepcijas, įskaitant spausdinimo teiginius, kilpas ir funkcijas.
Kas yra Ping Sweeper?
Ping sweeper yra programa, kuri priima tinklo adresą kaip įvestį, siunčia ping tinklo pagrindinius kompiuterius ir išveda mirusių ir gyvų kompiuterių sąrašą. Tai paprastas būdas įvertinti internetinių prieglobų skaičių jūsų tinkle ir sužinoti jų IPv4 adresus.
Pradedantiesiems sukurti ping valytuvą yra puikus būdas atnaujinti Python pagrindus. Šis praktinis mini projektas taip pat atnaujins jūsų supratimą tinklo pagrindai.
Būtinos jūsų „Ping Sweeper“ sąlygos
Prieš pradėdami kūrimo procesą, turėtumėte įsitikinti, kad jūsų sistemoje yra naujausia Python versija.
Patikrinkite, ar galite paleisti Python, įvesdami šią komandą komandų eilutėje (Windows vartotojams) arba terminale (UNIX / Linux sistemoms) ir paspausdami Įeikite:
python -- versija
Kai kuriose sistemose gali reikėti paleisti:
python3 -- versija
Ši komanda turėtų grąžinti jūsų sistemoje įdiegtą Python versiją. Jei jis pateikia klaidą, panašią į „python not found“, turėtumėte įdiegti Python3 ir tada atlikite toliau nurodytus veiksmus.
Ping Sweeper kodavimas
Yra keletas šio scenarijaus kūrimo būdų. Kai kuriems reikės įdiegti ir importuoti kelis modulius. Čia pasirinksite minimalistinį požiūrį, kuris neturi išorinių priklausomybių, išskyrus esmines os modulis.
Prieš pradėdami koduoti, išskaidykite reikalavimus, kad geriau suprastumėte, kokias funkcijas turėsite įdiegti. Šį scenarijų sudaro trys dalys:
- Priimkite įvestą IP adresą.
- Iš IP adreso ištraukite tinklo ID.
- Pakartokite visus tinklo pagrindinius kompiuterius ir spausdinkite, jei pagrindinis kompiuteris miręs ar gyvas.
Dabar, kai turite aiškų darbo eigos vaizdą, pradėkime programuoti.
Įvesties priėmimas ir apdorojimas
Pirmoji scenarijaus dalis susijusi su vartotojo įvesties priėmimu ir IPv4 adreso sumažinimu iki pirmųjų trijų oktetų. Tai suteikia mums tinklo ID:
importuoti os
IP = input ("[+] Įveskite pagrindinio kompiuterio IP adresą:\t")
print ("[+] Ping Sweeper paleidimas " + IP)
taškas = IP.rfind(".")
IP = IP[0:taškas + 1]
The įvestis () funkcija priima vartotojo įvestį. Galite naudoti eilutę rfind () būdas išgauti paskutinio kablelio pasikartojimo indeksą ir išsaugoti jį taškas kintamasis. Sekite tai išsaugodami viską nuo įvesties iki dešiniojo kablelio atsiradimo.
Pagrindinių kompiuterių ir spausdinimo pagrindinio kompiuterio būsenos nuskaitymas
Tinklo adresą gavote iš įvesties IP. Dabar galite kartoti visas įmanomas galutinio IPv4 okteto vertes: 1–254. For ciklo viduje išsaugokite naują IP adresą šeimininkas kintamasis. Šis IP yra bazinis IP, po kurio eina iteratoriaus kintamojo reikšmė. Tada naudokite os.system() būdas paleisti ping komandą prieš šeimininkas kintamasis.
dėl i in diapazonas(1, 255):
priegloba = IP + str (i)
atsakymas = os.system("ping -c 1 -w 1 " + host + " >/dev/null")
jeigu atsakymas == 0:
spausdinti (priegloba + " yra aukštyn")
Kitas:
spausdinti (priegloba + " yra žemyn")
Išbandykite atsakymą reikšmę prieš 0, kad nustatytumėte pagrindinio kompiuterio būseną ir nuspręstumėte, ar jis yra prisijungęs, ar neprisijungęs. Jei ping aptinka nereaguojantį pagrindinį kompiuterį, jis grąžina vertę, kuri nėra nulis. Kitu atveju jis grąžina nulį, nurodydamas prieglobą, kurį gali pasiekti.
Galite pridėti c vėliava ir w vėliavėlė, kurios reikšmės yra 1, prie pradinės ping komandos. Dėl to jis siunčia tik vieną paketą ir laukia sekundės, kol gaus atsakymą. Jūsų ping versija gali palaikyti šias parinktis arba ne; Norėdami patikrinti, apsilankykite ping man puslapyje.
Taip pat turėtumėte nukreipti išvestį į /dev/null norėdami paslėpti ping išvesties detales. Atminkite, kad ping ir /dev/null sintaksė suderinama tik su Unix arba Linux sistemomis. Galite paleisti šį scenarijų sistemoje „Windows“, pakeisdami c vėliava su n ir >/dev/null su > nul.
Ping Sweeper scenarijaus paleidimas
Šį scenarijų galite paleisti terminale arba naudodami komandų eilutę. Paleiskite terminalą, eikite į scenarijaus vietą ir paleiskite jį naudodami python3:
cd /directory/sweeper/
python3 sweeper.py
Įveskite IPv4 adresą arba potinklį į terminalą, o ping sweeper turėtų pradėti dirbti ir grąžinti laukiamą išvestį.
Įdomios „Python“ projektų idėjos
Praktinis mokymasis, be abejo, yra geriausias ir greičiausias būdas išmokti programavimo kalbos. Kuo daugiau projektų dirbsite, tuo geriau suvoksite koncepcijas, įgysite esminių įgūdžių ir suprasite, kaip išspręsti problemas.
Jei pritrūkote projekto idėjų, kurias galėtumėte įgyvendinti, peržiūrėkite šį kuruojamą geriausių Python projektų idėjų sąrašą.