Interfaccia a riga di comando con sys.argv, argparse, docopt e Typer

Interfaccia a riga di comando con sys.argv, argparse, docopt e Typer un'esperienza completa e intuitiva

4 modi per passare argomenti ai tuoi script Python

Foto di Florian Olivo su Unsplash

Per distribuire un pipeline, tipicamente c’è uno script principale, o un unico punto di ingresso che esegue l’intero pipeline. Ad esempio, in un pipeline di data science, il punto di ingresso del repository di codice dovrebbe orchestrare ed eseguire in sequenza la pipeline di dati, ingegneria delle feature, modellazione e valutazione.

A volte, potresti aver bisogno di eseguire diversi tipi di pipeline o apportare modifiche ad hoc alla pipeline.

Le modifiche possono includere l’omissione di determinate parti del codice o l’esecuzione della pipeline con diversi parametri. In data science, potrebbe esserci una pipeline di addestramento e scoring o determinate esecuzioni che richiedono un aggiornamento completo o parziale dei dati.

La soluzione banale sarebbe creare più script principali. Tuttavia, ciò comporterà la duplicazione del codice ed è difficilmente mantenibile nel lungo periodo, considerando che possono esserci molte combinazioni di modifiche. Una soluzione migliore è quella di far accettare agli script principali gli argomenti, sotto forma di valori dei parametri o flag, e successivamente eseguire il tipo appropriato di pipeline tramite l’Interfaccia a Linea di Comando (CLI).

Questo articolo non entrerà nel dettaglio su come lo script principale decida di utilizzare gli argomenti, ma introdurrà diversi modi per passare argomenti allo script principale – puoi pensare che il tuo script principale sia ora una funzione che accetta parametri! Saranno anche illustrate le caratteristiche positive e negative di ciascun metodo e forniti esempi di codice su come implementare gli utilizzi base e avanzati.

Indice

  • Utilizzando sysargv: Il modo più semplice
  • Utilizzando argparse: Il modo più comune
  • Utilizzando docopts: Un modo alternativo
  • Utilizzando Typer: Il modo più recente e più semplice

Utilizzando sysargv

Il modo più semplice per passare gli argomenti

Gli argomenti possono essere passati e letti direttamente con sysargv, rendendolo il modo più semplice per passare argomenti multipli.

Dimostrazione