Pitone

Tutorial sull'analisi della riga di comando di Python Command

Tutorial sull'analisi della riga di comando di Python Command
L'analisi è un processo di analisi di una serie di testi per scoprire cosa dovrebbe fare il programma con i comandi dati. Il testo viene suddiviso in piccoli pezzi, noti come token, per costruire la struttura dati nota al compilatore o all'interprete. L'esecuzione si traduce nel risultato previsto alla fine. Python è spesso usato come linguaggio per analizzare facilmente le righe di comando. Questa guida utilizza questo modulo speciale fornito con Python ed è noto come argparse. La cosa speciale di argparse è che è abbastanza facile da usare, facile da usare, disponibile con Python e aiuta a creare facilmente interfacce a righe di comando.

La seguente guida mostra come utilizzare argparse in Ubuntu, con Python3, e quindi assicurarsi che entrambi siano prontamente disponibili prima di procedere. Se Python3 non è disponibile, può essere installato con le seguenti due righe di comando:

sudo apt-get update
sudo apt-get install python3.6

Sintassi essenziale

Lo scopo di questa guida è delineare le funzionalità principali di argparse e come utilizzare alcune delle sue opzioni. Argparse richiede Python e un blocco note per digitare i suoi comandi. Ubuntu ha il suo blocco note noto come "editor di testo", a cui è possibile accedere tramite il trattino di Ubuntu. I comandi vengono eseguiti tramite terminale.

  1. Avvia l'editor di testo tramite Ubuntu Dash.
  2. Digita le seguenti due righe come codici essenziali. La prima riga importa il modulo argparse nello snippet di codice, mentre la seconda crea un oggetto parser di argomenti, che contiene tutte le informazioni necessarie per analizzare i comandi nei tipi di dati Python. import argparse
    parser = argparse.Analizzatore di argomenti()
  3. Usa il seguente comando per convertire le stringhe di argomenti in oggetti. Di solito, l'oggetto viene istanziato e assegnato a una variabile, ma non è necessario. analizzatore.parse_args()
  4. Il programma può essere eseguito nel terminale Linux tramite python3 con il seguente comando. python3 pscript.pi

Visualizzazione della descrizione dell'app

Il parametro della descrizione dell'app serve a indicare a cosa serve l'applicazione. Quando il comando help viene utilizzato con lo script python, viene visualizzata la descrizione dell'app insieme ai flag disponibili da utilizzare nel programma.  La riga seguente deve essere utilizzata per indicare la descrizione dell'app.

parser = argparse.ArgumentParser(description='descrizione dell'app')

Visualizzazione della descrizione alla fine (Epilogo)

Come da descrizione, l'epilogo può essere visualizzato alla fine con il parametro epilogo. Come la descrizione, deve essere specificato anche all'interno della funzione argumentParser.

Come usare gli argomenti

Gli argomenti sono definiti con add_argument() funzione. Specifica quali argomenti/argomenti posizionali utilizzare con lo script python. Per impostazione predefinita, il programma accetta il flag -help come argomento posizionale, ma è possibile aggiungerne altri utilizzando la suddetta funzione. Esistono molti modi per aggiungere argomenti all'applicazione.

Argomento posizionale singolo

Il singolo argomento posizionale assicura che il programma accetti solo un argomento. Nell'esempio seguente, indica bld come argomento; quindi solo bld può essere usato come argomento posizionale durante l'esecuzione del programma. Se l'argomento manca, il programma genererà un errore con un messaggio di avviso "troppo pochi argomenti". La particolarità dell'argomento posizionale è che non deve essere dichiarato nel terminale quando si forniscono argomenti al programma.

analizzatore.add_argument("bld")

Argomento posizionale in un tipo particolare

add_argument() non solo accetta un argomento, ma anche più argomenti come mostrato nell'esempio seguente. Se vengono forniti più argomenti, devono essere formattati come segue. Il primo argomento definisce il nome dell'argomento posizionale, il secondo è il suo tipo, ovvero il tipo del valore accettato come argomento per il programma, l'ultimo è per la descrizione che appare solo quando si utilizza il flag di aiuto.

Nella schermata seguente, mostra come il programma rifiuta di accettare qualsiasi valore non integrale come argomento posizionale. Solo un valore intero può essere inviato qui ora.

analizzatore.add_argument('bld', type=int,
help="è richiesto un valore intero")

Argomento posizionale opzionale in un tipo particolare

La seguente riga di comando è la stessa di quella precedente, tranne per il fatto che rende l'argomento posizionale opzionale con il parametro nargs; quindi l'utente può ometterlo durante l'esecuzione del programma. Tuttavia, se l'argomento è stato fornito, deve essere nel tipo di dati corretto, altrimenti non continuerà l'analisi come al solito.

analizzatore.add_argument('bld', type=int, nargs='?',
help='Questo campo è per un valore intero facoltativo')

Argomento facoltativo in un tipo particolare

La differenza tra l'argomento e l'argomento posizionale è che l'argomento posizionale non deve essere menzionato, mentre l'argomento deve essere menzionato come flag insieme al suo valore durante l'esecuzione del programma. La seguente riga di comando contiene esattamente gli stessi testi, eccetto le doppie righe iniziali (trattini). Significano che l'argomento è un argomento/flag che deve essere menzionato insieme a un valore nel tipo specificato durante l'esecuzione del programma. Per rendere obbligatorio l'uso dell'argomentazione richiesto=vero parametro può essere utilizzato nella funzione add_argument() come uno degli altri argomenti. Come detto sopra, non rispettare il formato genererà un errore.

Uso di argomenti brevi

Gli argomenti brevi agiscono allo stesso modo dei suoi omologhi più lunghi. L'unica differenza è che aiuta a risparmiare spazio quando si utilizza una grande quantità di righe di comando o quando lo sviluppatore vuole mantenere i comandi ordinati e organizzati il ​​più possibile. Nell'esempio seguente viene illustrato come il programma risponde a entrambi gli argomenti nello stesso modo. Quando si utilizzano gli argomenti brevi, assicurarsi di utilizzare solo un trattino poiché è lo standard del settore.

Argomenti condizionali

Gli argomenti condizionali sono molto semplici da usare come argomenti negli esempi precedenti. L'unica differenza in questo segmento è specificare il parametro di azione. Accetta due valori, negozio_vero, e store_false. Se il parametro action è specificato come store_true, ogni volta che l'argomento flag viene utilizzato nel programma, viene assegnato da un valore booleano vero; quindi può essere usato come argomento condizionale. Le applicazioni degli argomenti condizionali consistono nel creare un flusso logico dell'esecuzione basato sugli input dell'utente. Quindi, l'utente decide quale percorso vuole prendere e come scorre il programma. I comandi analizzati sono all'interno dell'oggetto namespace, ecco perché restituisce la parola chiave namespace() dopo che il programma è stato eseguito.

analizzatore.add_argument('--bld', action='store_true',
help='argomento condizionale')

Specificare il nome del programma

Soprattutto gli esempi non specificano il nome del programma. Invece indica solo il nome del file di script insieme all'elenco degli argomenti accettati. Il vantaggio di usare il nome del programma è che rende il programma più facile da usare e indipendente dal nome dello script. Questo è abbastanza utile se più file di script sono coinvolti con l'esecuzione. Quindi, non confonderà l'utente con nomi ambigui.

Le seguenti due righe di comando devono essere utilizzate per farlo accadere. Nella prima riga specifica il nome del programma con il parametro prog, mentre questo particolare parametro può essere utilizzato come variabile in cui viene utilizzato il nome del programma, quindi quando il programma viene eseguito, il parametro prog viene sostituito con il valore indicato in argumentParser( ) funzione insieme al parametro prog, che significa "App Nucuta" in questo esempio. Inoltre, è importante usare il comando as %(prog)s altrimenti l'analisi non avrà successo.

parser = argparse.ArgumentParser(prog='App Nucuta')
analizzatore.add_argument('--bld', help='Questo %(prog)s it')

Come verificare le condizioni ed eseguire il flusso di esecuzione

Il flusso di esecuzione è definito con le clausole IF ELSE. Queste clausole guidano il flusso di esecuzione a seconda della condizione e della sua natura. Nell'esempio seguente il valore intero digitato viene assegnato a una variabile, bld, che si trova nell'oggetto arg. Quindi viene confrontato con un valore predefinito per verificarne le condizioni. In questo esempio, se il valore inserito è maggiore di 10, viene eseguita la prima istruzione, se il valore inserito è uguale a 10, viene eseguita la seconda istruzione, se il valore inserito è minore di 10, viene eseguita l'ultima istruzione. Allo stesso modo, il flusso di esecuzione può essere guidato con facilità. Come illustrato nell'esempio, è possibile accedere agli argomenti tramite l'oggetto restituito dalla funzione parse_args() - args.

CONCLUSIONE

Con questa guida, sei pronto per iniziare ad analizzare tutta la riga di comando in python.  In bocca al lupo

I 10 migliori giochi da giocare su Ubuntu
La piattaforma Windows è stata una delle piattaforme dominanti per i giochi a causa dell'enorme percentuale di giochi che si stanno sviluppando oggi p...
I 5 migliori giochi arcade per Linux
Al giorno d'oggi, i computer sono macchine serie utilizzate per i giochi. Se non riesci a ottenere il nuovo punteggio più alto, saprai cosa intendo. I...
Battaglia per Wesnoth 1.13.6 Sviluppo rilasciato
Battaglia per Wesnoth 1.13.6 rilasciato il mese scorso, è la sesta versione di sviluppo nella 1.13.x e offre una serie di miglioramenti, in particolar...