Blog JSystems - uwalniamy wiedzę!
Blog JSystems - uwalniamy wiedzę!
Moduł ipaddress pozwala na sprawdzanie czy dany ciąg jest adresem IP, czy jest w sieci publicznej czy prywatnej etc. Aby rozpocząć operacje na adresie IP musimy najpierw stworzyć reprezentujący go obiekt:
import ipaddress
a=ipaddress.ip_address("10.0.0.1")
Na tym etapie wykonywana jest walidacja adresu. Gdybys podał coś co adresem IP nie jest, jak na przykład tu:
import ipaddress
a=ipaddress.ip_address("there's no place like localhost...")
otrzymamy wyjątek z komunikatem:
ValueError: "there's no place like localhost..." does not appear to be an IPv4 or IPv6 address
Ipaddress dla poprawnie zwalidowanego adresu udostępnia szereg ciekawych funkcjonalności. Możemy np. weryfikować czy dany adres leży w sieci prywatnej czy publicznej:
import ipaddress
a=ipaddress.ip_address('46.41.128.110')
a2=ipaddress.ip_address('192.168.1.1')
print(a.is_private)
print(a2.is_private)
Efekt:
False
True
Zamiast pola is_private możemy też użyć is_global:
import ipaddress
a=ipaddress.ip_address('46.41.128.110')
a2=ipaddress.ip_address('192.168.1.1')
print(a.is_global)
print(a2.is_global)
z oczywiście odwrotnym skutkiem:
True
False
Możemy też porównywać adresy IP:
import ipaddress
a=ipaddress.ip_address('46.41.128.110')
a2=ipaddress.ip_address('46.41.128.111')
print(a>a2)
Efekt:
False
Jeszcze jedna ciekawostka ( tu puszczenie oczka w stronę administratorów ) na temat ipaddress. Możemy wylistować wszystkie adresy z danej sieci. Tym razem będziemy musieli utworzyć obiekt innej klasy, dlatego też zamiast funkcji ip_adress potrzebujemy funkcji ip_network:
import ipaddress
for h in ipaddress.ip_network('192.168.2.0/24').hosts():
print(h)
Skutek działania:
192.168.2.1
192.168.2.2
192.168.2.3
192.168.2.4
192.168.2.5
192.168.2.6
…..
…..
Nie są to wszystkie możliwości tego modułu, wybrałem te które moim zdaniem są najbardziej przydatne. Zainteresowanych rozszerzeniem zapraszam do zapoznania się z dokumentacją.
Ten kurs daje Ci solidne podstawy Pythona. Jeśli chcesz pójść dalej i pod okiem trenera dojść od pierwszej linijki kodu do własnego modelu uczenia maszynowego, sprawdź nasze pięciodniowe szkolenie Python od podstaw, przez analizę danych, do machine learning. Pierwsze trzy dni to Python w praktyce: typy i kolekcje, instrukcje warunkowe i pętle, funkcje, moduły i pakiety, pliki tekstowe, usługi sieciowe oraz praca z bazą PostgreSQL. Czwarty dzień to analiza danych w pandas (wczytywanie CSV, TSV i XLS, filtrowanie, agregacje, statystyki) i wizualizacja w Matplotlib, Seaborn oraz Plotly. Piąty dzień to uczenie maszynowe w scikit-learn: regresja liniowa i logistyczna, drzewa decyzyjne, las losowy, XGBoost, walidacja predykcji, dobór hiperparametrów i przeciwdziałanie przeuczeniu. Szkolenie ma terminy gwarantowane, czyli odbywa się niezależnie od wielkości grupy.
Szkolenie Python od podstaw, przez analizę danych, do machine learning
To szkolenie może być dofinansowane dla Ciebie z KFS lub BUR.
★★★★★Średnia ocena naszych szkoleń w Google: 5/5
Komentarze (0)
Brak komentarzy...