Argumenty podawane po nazwie programu w powłoce wiersza poleceń systemu operacyjnego nazywane są Argumenty wiersza poleceń . Python udostępnia różne sposoby radzenia sobie z tego typu argumentami. Trzy najczęstsze to:
Używanie sys.argv
Moduł sys udostępnia funkcje i zmienne używane do manipulowania różnymi częściami środowiska wykonawczego języka Python. Moduł ten zapewnia dostęp do niektórych zmiennych używanych lub utrzymywanych przez interpreter oraz do funkcji, które silnie współdziałają z interpreterem.
Jedną z takich zmiennych jest sys.argv, który jest prostą strukturą listy. Jego głównym celem jest:
- Jest to lista argumentów wiersza poleceń.
- len(sys.argv) podaje liczbę argumentów wiersza poleceń.
- sys.argv[0] to nazwa bieżącego skryptu Pythona.
Przykład: Załóżmy, że istnieje skrypt w języku Python służący do dodawania dwóch liczb, a liczby są przekazywane jako argumenty wiersza poleceń.
Python3
# Python program to demonstrate> # command line arguments> import> sys> # total arguments> n>=> len>(sys.argv)> print>(>'Total arguments passed:'>, n)> # Arguments passed> print>(>'
Name of Python script:'>, sys.argv[>0>])> print>(>'
Arguments passed:'>, end>=> ' '>)> for> i>in> range>(>1>, n):> >print>(sys.argv[i], end>=> ' '>)> > # Addition of numbers> Sum> => 0> # Using argparse module> for> i>in> range>(>1>, n):> >Sum> +>=> int>(sys.argv[i])> > print>(>'
Result:'>,>Sum>)> |
>
>
Wyjście:

Korzystanie z modułu getopt
Pyton moduł getopt jest podobne do funkcji getopt() języka C. W przeciwieństwie do modułu sys, moduł getopt rozszerza separację ciągu wejściowego poprzez sprawdzanie poprawności parametrów. Umożliwia zarówno krótkie, jak i długie opcje, w tym przypisanie wartości. Jednakże moduł ten wymaga użycia modułu sys do prawidłowego przetwarzania danych wejściowych. Aby skorzystać z modułu getopt należy usunąć pierwszy element z listy argumentów linii poleceń.
Składnia: getopt.getopt(argumenty, opcje, [długie_opcje])
Parametry:
argumenty: Lista argumentów do przekazania.
opcje: Ciąg liter opcji, które skrypt chce rozpoznać. Po opcjach wymagających argumentu należy umieścić dwukropek (:).
długie_opcje: Lista stringów z nazwami długich opcji. Po opcjach wymagających argumentów należy umieścić znak równości (=).
Typ zwrotu: Zwraca wartość składającą się z dwóch elementów: pierwszy to lista par (opcji, wartości). Druga to lista argumentów programu pozostałych po usunięciu listy opcji.
operator warunkowy w Javie
Przykład:
Python3
# Python program to demonstrate> # command line arguments> import> getopt, sys> # Remove 1st argument from the> # list of command line arguments> argumentList>=> sys.argv[>1>:]> # Options> options>=> 'hmo:'> # Long options> long_options>=> [>'Help'>,>'My_file'>,>'Output='>]> try>:> ># Parsing argument> >arguments, values>=> getopt.getopt(argumentList, options, long_options)> > ># checking each argument> >for> currentArgument, currentValue>in> arguments:> >if> currentArgument>in> (>'-h'>,>'--Help'>):> >print> (>'Displaying Help'>)> > >elif> currentArgument>in> (>'-m'>,>'--My_file'>):> >print> (>'Displaying file_name:'>, sys.argv[>0>])> > >elif> currentArgument>in> (>'-o'>,>'--Output'>):> >print> ((>'Enabling special output mode (% s)'>)>%> (currentValue))> > except> getopt.error as err:> ># output error, and return with an error code> >print> (>str>(err))> |
>
>
Wyjście:

Korzystanie z modułu argparse
Użycie modułu argparse jest lepszą opcją niż dwie powyższe opcje, ponieważ zapewnia wiele opcji, takich jak argumenty pozycyjne, domyślna wartość argumentów, komunikat pomocy, określenie typu danych argumentu itp.
Notatka: Jako domyślny argument opcjonalny zawiera -h wraz z jego długą wersją –help.
jak duży jest ekran mojego monitora
Przykład 1: Podstawowe użycie modułu argparse.
Python3
# Python program to demonstrate> # command line arguments> import> argparse> # Initialize parser> parser>=> argparse.ArgumentParser()> parser.parse_args()> |
>
>
Wyjście:

Przykład 2: Dodanie opisu do komunikatu pomocy.
Python3
# Python program to demonstrate> # command line arguments> import> argparse> msg>=> 'Adding description'> # Initialize parser> parser>=> argparse.ArgumentParser(description>=> msg)> parser.parse_args()> |
>
>
sterta i sortowanie po stercie
Wyjście:

Przykład 3: Definiowanie wartości opcjonalnej
Python3
# Python program to demonstrate> # command line arguments> import> argparse> # Initialize parser> parser>=> argparse.ArgumentParser()> # Adding optional argument> parser.add_argument(>'-o'>,>'--Output'>,>help> => 'Show Output'>)> # Read arguments from command line> args>=> parser.parse_args()> if> args.Output:> >print>(>'Displaying Output as: % s'> %> args.Output)> |
>
>
Wyjście:
