Piton

Cum se analizează argumentele pe linia de comandă în Python

Cum se analizează argumentele pe linia de comandă în Python
Argumentele din linia de comandă sunt utilizate pentru a transmite date în program în momentul executării programului. Această caracteristică este disponibilă în majoritatea limbajelor de programare populare. Dar procesarea argumentelor din linia de comandă este diferită pentru diferite limbi. Valorile argumentelor sunt date cu numele programului în momentul rulării programului. Limbajul Python acceptă această caracteristică. Modul în care sunt analizate argumentele din linia de comandă în scriptul Python este prezentat în acest articol.

Parsarea argumentului din linia de comandă folosind sys modul

Argumentele din linia de comandă sunt stocate într-o listă folosind sys modul.  sys.argv este folosit pentru a citi valorile argumentelor din linia de comandă. Numărul total de argumente din linia de comandă poate fi numărat folosind len () funcţie. Utilizarea acestui modul este descrisă în partea articolului.

Exemplul 1: Citirea numărului de argumente și a valorilor argumentelor

Creați un fișier cu următorul script python.  Aici, valorile argumentului din linia de comandă sunt stocate în variabilă, argv ca și alte limbi. len () metoda numără numărul total de argumente transmise în momentul executării scriptului. Valorile argumentelor sunt tipărite ca o matrice la sfârșitul scriptului.

# Importați modulul sys
import sisteme
# Imprimați numărul total de argumente
print ('Total argumente:', len (sys.argv))
print ('Valorile argumentului sunt:', str (sys.argv))

Ieșire:

Scriptul de mai sus este executat aici folosind patru argumente din linia de comandă. Primul argument este numele scriptului, iar altele sunt valori numerice. Următoarea ieșire va apărea după rularea scriptului.

Exemplul 2: Citirea valorilor argumentelor folosind bucla

În exemplul anterior, valorile argumentelor sunt tipărite ca o matrice. Creați un fișier cu următorul script pentru a imprima tipul de variabilă argument și imprimați fiecare valoare argument în fiecare linie utilizând bucla for.

# Importați modulul sys
import sisteme
# Imprimați tipul variabilei, sys.argv
print (tip (sys.argv))
# Imprimați fiecare argument din linia de comandă din fiecare linie
print ('Argumentele din linia de comandă sunt:')
pentru i in sys.argv:
print (i)

Ieșire:

Scriptul de mai sus este executat prin furnizarea a trei argumente cu numele scriptului. Următoarea ieșire va apărea după rularea scriptului.

Analizarea argumentului liniei de comandă folosind modulul getopt

Getopt modulul este utilizat pentru a analiza argumentele din linia de comandă cu opțiunile. getopt () metoda acestui modul este utilizată pentru citirea argumentelor. Această metodă are trei argumente. Primele două argumente sunt obligatorii, iar ultimul argument este opțional. Utilizările acestor argumente sunt date mai jos.

argumente: Conține argumentul preluat din argumentul liniei de comandă.

short_option: Poate fi orice literă care trece odată cu argumentul.

lung_opțiune: Este folosit pentru a defini opțiuni lungi cu două părți. Acestea sunt numele opțiunii și valoarea opțiunii.

Sintaxă: getopt.getopt (args, short_option, [long_option])

Exemplul 3: Citirea valorilor argumentelor folosind opțiuni scurte getopt

getopt modulul conține mai multe caracteristici decât sys modul. Următorul exemplu arată modul în care pot fi utilizate opțiunile scurte getopt () metodă. argv variabila va stoca argumentele din linia de comandă omițând numele scriptului. Apoi, două opțiuni sunt definite în getopt () metodă care poate fi utilizată cu argumentul în timpul rulării. Dacă apare o eroare, se va afișa un mesaj de eroare.

# Importați modulul getopt
import getopt
# Importați modulul sys
import sisteme
# Stocați variabila argument omițând numele scriptului
argv = sys.argv [1:]
 
încerca:
# Definiți opțiunile scurte getopt
opțiuni, args = getopt.getopt (argv, 'x: y:')
# tipăriți opțiunile și argumentul
imprimare (opțiuni)
print (args)
 
cu excepția getopt.GetoptError:
# Imprimați mesajul de eroare dacă este furnizată opțiunea greșită
print („Este furnizată opțiunea greșită”)
# Încheiați scriptul
sys.ieșire (2)

Ieșire:

Rulați scriptul fără niciun argument, argumente cu opțiuni corecte și argumente cu opțiunea greșită.

Exemplul 4: Citirea valorilor argumentelor folosind opțiuni getopt scurte și lungi

Acest exemplu arată modul în care opțiunile scurte și lungi pot fi utilizate cu valorile argumentului. Va adăuga două numere când '-A' sau '-adăuga' va fi folosit ca opțiune și scade două numere când '-e sau-sub ' va fi folosit ca opțiune în timpul rulării.

# Importați modulul getopt
import getopt
# Importați modulul sys
import sisteme
# Stocați variabila argument omițând numele scriptului
argv = sys.argv [1:]
# Inițializați variabila de rezultat
rezultat = 0
 
încerca:
 
# Definiți opțiunile getopt scurte și lungi
opțiuni, args = getopt.getopt (sys.argv [1:], 'a: s', ['add =', 'sub ='])
 
# Citiți fiecare opțiune folosind bucla for
pentru opt, arg în opțiuni:
# Calculați suma dacă opțiunea este -a sau --add
dacă activați ('-a', '--add'):
result = int (argv [1]) + int (argv [2])
# Calculați atracția solară dacă opțiunea este -s sau -sub
elif opt in ('-s', '--sub'):
result = int (argv [1]) - int (argv [2])
 
print ('Rezultat =', rezultat)
cu excepția getopt.GetoptError:
# Imprimați mesajul de eroare dacă este furnizată opțiunea greșită
print („Opțiunea greșită este furnizată”)
# Încheiați scriptul
sys.ieșire (2)

Ieșire:

Rulați scriptul fără argumente și opțiuni, argumente cu opțiunea „-a”, argumente cu opțiunea „-s” și argumente cu opțiunea greșită.

Analizarea argumentului din linia de comandă utilizând modulul argparse

Modulul Argparse conține o mulțime de opțiuni pentru a citi argumente din linia de comandă. Valorile implicite ale argumentelor, argumentul cu tipul de date, argumentele poziționale, mesajul de ajutor etc. poate fi furnizat de acest modul.

Exemplul 5: Citirea argumentelor din linia de comandă folosind argparse

Următorul exemplu arată utilizarea argparse modul pentru citirea argumentului din linia de comandă. Aici sunt definite două opțiuni pentru citirea argumentelor din linia de comandă. Acestea sunt „-n” sau „-name” și „-e” sau „-email”. Dacă utilizatorul furnizează orice argument greșit, atunci acesta va afișa o eroare cu un mesaj de utilizare. Dacă utilizatorul oferă opțiuni corecte cu argumentele, atunci va afișa valorile argumentului. dacă utilizatorul rulează scriptul cu opțiunea „-help”, atunci acesta va furniza mesajul necesar pentru a rula scriptul.

# Importați modulul argparse
import argparse
# Importați modulul sys
import sisteme
# Declarați funcția pentru a defini argumentele din linia de comandă
readOptions def (args = sys.argv [1:]):
parser = argparse.ArgumentParser (description = "Listele de comenzi de analiză.")
analizor.add_argument ("- n", "--name", help = "Tastați-vă numele.")
analizor.add_argument ("- e", "--email", help = "Tastați e-mailul.")
opts = parser.parse_args (args)
returul optează
# Apelați funcția pentru a citi valorile argumentului
opțiuni = readOptions (sys.argv [1:])
print (opțiuni.Nume)
print (opțiuni.e-mail)

Ieșire:

Rulați scriptul cu opțiunea greșită, opțiunea corectă și opțiunea de ajutor.

Concluzie:

Diferite moduri de citire a argumentelor din linia de comandă sunt explicate în acest tutorial utilizând trei module python. Sper, acest tutorial va ajuta programatorul care dorește să citească date folosind argumente din linia de comandă în python.

Urmăriți videoclipul autorului: aici

How to Install and Play Doom on Linux
Introduction to Doom The Doom Series originated in the 90s after the release of the original Doom. It was an instant hit and from that time onwards th...
Vulkan for Linux Users
With each new generation of graphics cards, we see game developers push the limits of graphical fidelity and come one step closer to photorealism. But...
OpenTTD vs Simutrans
Creating your own transport simulation can be fun, relaxing and extremely enticing. That's why you need to make sure that you try out as many games as...