Wtorki z Pythonem: Importowanie bibliotek

W automatyzacji nie uciekniesz od programowania. Najpopularniejszym językiem jest Python i śmiało można powiedzieć, że musisz go w dzisiejszych czasach znać. W przygotowywanej przez CiscoPress do wydania książce CCNP and CCIE Enterprise Core ENCOR 350-401
Official Cert Guide znajdziemy cały rozdział poświęcony automatyzacji z przykładami rozwiązań w języku Python. No i oczywiście jest cała ścieżka certyfikacji Cisco DevNet, w której programowanie odgrywa ogromną rolę. Dlatego startuję z nowym cyklem Wtorki z Pythonem, w ramach którego przeczytacie krótsze i dłuższe teksty poświęcone językowi Python i realizacji różnych zadań, z którymi możecie się w przyszłości spotkać, za pomocą tego języka. Importowanie bibliotek czy funkcji w języku Python to jedna z podstawowych czynności nawet w prostych programach dlatego jej poświęcę pierwszy z artykułów.

Jak działa importowanie bibliotek w języku Python

Do importowania stosujemy słowo kluczowe import. Zazwyczaj jest to pierwsza czynność, jaką wykonujemy w kodzie każdego programu czy modułu. Jednak importować możemy także wewnątrz kodu funkcji czy klasy.

class Czasomierz:
    import time
    def licznik(self):
        self.time.sleep(2)

Biblioteka, którą chcemy zaimportować do programu, musi być możliwa do odnalezienia przez plik wykonywalny języka Python. Ponieważ środowisko uruchomienia aplikacji może być zwirtualizowane i izolowane za pomocą venv, pamiętaj, że moduły zainstalowane globalnie zazwyczaj nie są w nich osiągalne. Python szuka bibliotek według następującej kolejności analizowania lokalizacji:

  1. Katalog główny programu
  2. Katalogi w ścieżce opisanej w zmiennej PYTHONPATH jeżeli została ona zdefiniowana
  3. Katalogi biblioteki standardowej (róznie w zależności od systemu operacyjnego)

W efekcie działania algorytmu powstaje zmienna sys.path zawierająca listę katalogów w kolejności przeszukiwania. Możemy ją w prosty sposób wyświetlić:

import sys

print(sys.path)

Mało kto pamięta, że wgraną bibliotekę za pomocą polecenia import możemy w dowolnej chwili usunąć z pamięci poleceniem del.

import sys

print(sys.path)

del sys

Importowanie biblioteki lub jej wybranych funkcji

W powyższych przykładach importowaliśmy całą bibliotekę. Do poszczególnych jej metod czy obiektów odwoływaliśmy się poprzez bezpośrednie ich wywołanie poprzedzone nazwą biblioteki, tak jak to miało miejsce w odwołaniu sys.path. Jeżeli nazwa biblioteki jest długa i nie chcemy jej za każdym razem powtarzać, możemy przypisać jej alias.

import sys as s

print(s.path)

Z biblioteki możemy także zaimportować jedynie pojedyncze jej elementy. W takim wypadku, aby się do nich odwołać potem w kodzie naszego programu, nie poprzedzamy ich już nazwą samej biblioteki.

from sys import path

print(path)

Stosując ten sposób importowania, musimy bardzo uważać na to, by w różnych bibliotekach nazwy metod się nie pokrywały. Każde kolejne zaimportowanie funkcji o tej samej nazwie nadpisze poprzednie jej wgranie. Dlatego nie jest zalecane stosowanie konstrukcji importującej wszystkie obiekty z biblioteki, na przykład from sys import *.


Subscribe
Powiadom o
guest

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

0 komentarzy
najstarszy
najnowszy oceniany
Inline Feedbacks
View all comments

ZdradziĆ Ci sekretY udanego projektu automatyzacji?

(link otwiera się w nowym oknie)