Utilizzo argparse in Python: argomenti della riga di comando

Il argparse modulo in Python è un potente strumento per la gestione e l'analisi degli argomenti della riga di comando durante l'esecuzione di un programma. Consente di definire facilmente i parametri e le opzioni richiesti per il programma e fornisce meccanismi flessibili per leggerli e utilizzarli.

Ecco i passaggi per utilizzare il argparse modulo:

  1. Importa il argparse modulo: avvia il tuo programma importando il argparse modulo.

  2. Definisci l' ArgumentParser oggetto: crea un ArgumentParser oggetto per definire i parametri e le opzioni richiesti per il tuo programma.

  3. Aggiungi argomenti: usa il .add_argument() metodo dell'oggetto ArgumentParser per aggiungere i parametri e le opzioni necessari per il tuo programma. Ogni argomento può avere un nome, un tipo di dati, una descrizione e vari altri attributi.

  4. Analizza argomenti: utilizza il .parse_args() metodo dell'oggetto ArgumentParser per analizzare gli argomenti dalla riga di comando e memorizzarli in un oggetto.

  5. Usa gli argomenti: usa i valori archiviati nell'oggetto analizzato dal passaggio precedente per eseguire azioni corrispondenti alle opzioni fornite dalla riga di comando.

Esempio: ecco un semplice esempio di come utilizzare argparse per calcolare la somma di due numeri dalla riga di comando:

import argparse  
  
# Define the ArgumentParser object  
parser = argparse.ArgumentParser(description='Calculate the sum of two numbers.')  
  
# Add arguments to the ArgumentParser  
parser.add_argument('num1', type=int, help='First number')  
parser.add_argument('num2', type=int, help='Second number')  
  
# Parse arguments from the command-line  
args = parser.parse_args()  
  
# Use the arguments to calculate the sum  
sum_result = args.num1 + args.num2  
print(f'The sum is: {sum_result}')  

Quando si esegue il programma con argomenti, ad esempio: python my_program.py 10 20, l'output sarà: The sum is: 30, e visualizzerà la somma dei due numeri forniti dalla riga di comando.