logo

Argumente de linie de comandă în Python

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:

argumente-linie-de-comandă-python

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:

argumente-linie-de-comandă-python

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:

argumente-linie-de-comandă-python


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:

argumente-linie-de-comandă-python


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:

argumente-linie-de-comandă-python