Argumentele care sunt date după numele programului în shell-ul liniei de comandă a sistemului de operare sunt cunoscute ca Argumente ale liniei de comandă . Python oferă diferite moduri de a trata aceste tipuri de argumente. Cele mai frecvente trei sunt:
Folosind sys.argv
Modulul sys oferă funcții și variabile utilizate pentru a manipula diferite părți ale mediului de rulare Python. Acest modul oferă acces la unele variabile utilizate sau întreținute de interpret și la funcții care interacționează puternic cu interpretul.
O astfel de variabilă este sys.argv care este o structură simplă de listă. Scopul său principal este:
- Este o listă de argumente ale liniei de comandă.
- len(sys.argv) furnizează numărul de argumente ale liniei de comandă.
- sys.argv[0] este numele scriptului Python curent.
Exemplu: Să presupunem că există un script Python pentru adăugarea a două numere și numerele sunt transmise ca argumente de linie de comandă.
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>)> |
>
>
Ieșire:

Folosind modulul getopt
Piton modul getopt este similară cu funcția getopt() a lui C. Spre deosebire de modulul sys, modulul getopt extinde separarea șirului de intrare prin validarea parametrilor. Permite atât opțiuni scurte, cât și lungi, inclusiv o atribuire de valoare. Cu toate acestea, acest modul necesită utilizarea modulului sys pentru a procesa corect datele de intrare. Pentru a utiliza modulul getopt, este necesar să eliminați primul element din lista de argumente ale liniei de comandă.
Sintaxă: getopt.getopt(args, options, [long_options])
Parametri:
argumente: Lista argumentelor care trebuie transmise.
Opțiuni: Șir de litere de opțiune pe care scriptul dorește să le recunoască. Opțiunile care necesită un argument ar trebui să fie urmate de două puncte (:).
Long_options: Lista de șir cu numele opțiunilor lungi. Opțiunile care necesită argumente ar trebui să fie urmate de un semn egal (=).
Tip returnare: Returnează valoare formată din două elemente: primul este o listă de perechi (opțiune, valoare). Al doilea este lista de argumente ale programului rămase după ce lista de opțiuni a fost eliminată.
conectează java cu mysql
Exemplu:
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))> |
>
>
Ieșire:

Folosind modulul argparse
Utilizarea modulului argparse este o opțiune mai bună decât cele două opțiuni de mai sus, deoarece oferă o mulțime de opțiuni, cum ar fi argumente poziționale, valoarea implicită pentru argumente, mesaj de ajutor, specificarea tipului de date al argumentului etc.
Notă: Ca argument opțional implicit, include -h, împreună cu versiunea sa lungă –help.
Exemplul 1: Utilizarea de bază a modulului argparse.
Python3
ce este const în java
# Python program to demonstrate> # command line arguments> import> argparse> # Initialize parser> parser>=> argparse.ArgumentParser()> parser.parse_args()> |
>
>
Ieșire:

Exemplul 2: Adăugarea unei descrieri la mesajul de ajutor.
Python3
java int la char
# Python program to demonstrate> # command line arguments> import> argparse> msg>=> 'Adding description'> # Initialize parser> parser>=> argparse.ArgumentParser(description>=> msg)> parser.parse_args()> |
>
>
Ieșire:

Exemplul 3: Definirea valorii opționale
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)> |
>
>
Ieșire:
