Argomenti della Riga di Comando Python

Gli argomenti della riga di comando di Python sono i parametri di input passati allo script durante l’esecuzione. Quasi tutti i linguaggi di programmazione forniscono supporto per gli argomenti della riga di comando. Inoltre abbiamo anche le opzioni della riga di comando per impostare alcune opzioni specifiche per il programma.

Argomenti della riga di comando di Python

Esistono molte opzioni per leggere gli argomenti della riga di comando di Python. Le tre più comuni sono:

  1. Modulo sys.argv di Python
  2. Modulo getopt di Python
  3. Modulo argparse di Python

Diamo un’occhiata a un semplice programma per imparare come leggere e utilizzare gli argomenti della riga di comando di Python.

Modulo sys di Python

Il modulo sys di Python memorizza gli argomenti della riga di comando in una lista, a cui possiamo accedere utilizzando sys.argv. Questo è un modo molto utile e semplice per leggere gli argomenti della riga di comando come stringhe. Diamo un’occhiata a un semplice esempio per leggere e stampare gli argomenti della riga di comando utilizzando il modulo sys di Python.

import sys

print(type(sys.argv))
print('The command line arguments are:')
for i in sys.argv:
    print(i)

L’immagine seguente illustra l’output di un esempio di esecuzione del programma sopra. Ci sono molte altre funzioni utili nel modulo sys, leggile in dettaglio su modulo sys di Python.

Modulo getopt di Python

Il modulo getopt di Python è molto simile al funzionamento della funzione C getopt() per l’analisi dei parametri della riga di comando. Il modulo getopt di Python è utile per l’analisi degli argomenti della riga di comando in cui vogliamo che l’utente inserisca anche alcune opzioni. Vediamo un esempio semplice per capire questo concetto.

import getopt
import sys

argv = sys.argv[1:]
try:
    opts, args = getopt.getopt(argv, 'hm:d', ['help', 'my_file='])
    print(opts)
    print(args)
except getopt.GetoptError:
    # Stampare un messaggio o fare qualcosa di utile
    print('Something went wrong!')
    sys.exit(2)

L’esempio sopra è molto semplice, ma possiamo facilmente estenderlo per fare varie cose. Ad esempio, se viene passata l’opzione di aiuto, stampiamo un messaggio amichevole per l’utente ed usciamo. In questo caso, il modulo getopt analizzerà automaticamente il valore dell’opzione e li mapparà. L’immagine seguente mostra un esempio di esecuzione. Per saperne di più, leggi modulo getopt di Python.

Modulo argparse di Python

Il modulo argparse di Python è il modo preferito per analizzare gli argomenti della riga di comando. Fornisce molte opzioni come gli argomenti posizionali, il valore predefinito per gli argomenti, il messaggio di aiuto, la specifica del tipo di dati dell’argomento, ecc. Nella sua forma più semplice, possiamo usarlo come segue.

import argparse

parser = argparse.ArgumentParser()
parser.parse_args()

Di seguito è riportato l’output di una rapida esecuzione dello script precedente. Il modulo argparse di Python offre molte altre funzionalità, dovresti leggere a riguardo nel tutorial su argparse di Python per una comprensione più chiara. Questo è tutto per le diverse opzioni per leggere e analizzare gli argomenti della riga di comando in Python, dovresti decidere quale è quella più adatta alle tue specifiche esigenze e quindi utilizzarla. Riferimenti:

Source:
https://www.digitalocean.com/community/tutorials/python-command-line-arguments