Prędzej czy później, przyjdzie potrzeba zamiany naszego kodu w Python, w równo prawny skrypt / program, który możemy uruchomić z poziomu linii komend oraz podać mu parametry, z którym ma się wywołać. W poniższej lekcji, zapoznamy się ze sposobami w jaki można tego dokonać. Zaczynajmy!
To co chcieli byśmy uzyskać to, móc wykonać nasz program, jak kazdy inny w konsoli:
$ naszProgram parametr1 parametr2
lub
$ naszProgram -h
i uzyskać pomoc
Aby to osiągną, są 2 najpopularniejsze sposoby.
Moduł sys
jest to prosty moduł, który umożliwia nam dostęp do parametrów z którymi został uruchomiony skrypt, poprzez udostępnienie nam listy o nazwie argv.
Pierwszym parametrem, w liście argv[0], jest nazwa skryptu, drugim parametrem argv[1], jest pierwszy parametr, z którym został uruchomiony skrypt itd. Zobaczmy poniżej:
import sys print ("argv[0]", sys.argv[0] ) print ("argv[1]", sys.argv[1] ) print ("argv[2]", sys.argv[2] )
Jeżeli uruchomimy ten program, uzyskamy następujący rezultat:
Tym samym, umiemy już przekazywać już parametry, do naszego programy. Co jest bardzo, bardzo użyteczne.
Następnie, dobrze by było, abyśmy mogli nasz program uruchomić bez konieczności poprzedzania go wywołaniem „python3”.
Linux:
W tym celu wystarczy rozpocząć kod źródłowy od wywołania interpretatora python3, oraz zmienić uprawniania, aby zrobić z niego plik wykonywalny:
#!/usr/bin/python3 import sys print ("argv[0]", sys.argv[0] ) print ("argv[1]", sys.argv[1] ) print ("argv[2]", sys.argv[2] )
$ chmod +x ./skrypt.py
$ mv skrypt.py skrypt
Po czym możemy go wykonać jak regularny program:
Podsumowując. Python jest bogaty w biblioteki, które ułatwiają tworzenie skryptów operujących na parametrach, jednak nie jest to przedmiotem naszej lekcji, gdyż, nie pogłębia to naszych umiejętności programistyczno, analitycznych :). To co potrzebujemy na chwilę obecną wiedzieć i umieć, to proste pozyskanie parametrów, za pomocą modułu sys oraz listy argv, w której znajdziemy nazwę skryptu, oraz przekazane mu parametry.
W następnej lekcji, wykonamy mini – projekt, który utrwali nasze zrozumienie funkcji rekurencyjnych, przekazywania skryptów, ale również umożliwi głównemu bohaterowi, naszej historii, na zdobycie tajnych dokumentów, znajdujących się w systemach informatycznych wrogiego państwa. Zaczynajmy!
Python, NIE tylko dla początkujących
- Wstęp do kursu
- Moduły i pakiety
- Programowanie obiektowe – wstęp
- Programowanie obiektowe – dziedziczenie
- Programowanie obiektowe – hermetyzacja
- Mini projekt – Organizer
- Funkcje rekurencyjne w Python
- Pisanie skryptów w Python <– bieżąca lekcja
- Mini projekt – tajny agent, generator haseł
- *args oraz **kwargs
- Dekoratory w Python
- Mini projekt – tajny agent – kontakty
- Odwzorowanie list
- Podsumowanie oraz dalsze kroki