Come leggere da Stdin in Python

Come leggere da Stdin in Python

Prendere input dall'utente è una parte importante di qualsiasi linguaggio di programmazione. L'output di molti programmi dipende dall'input standard. Il modo di prendere input dall'utente è diverso per diversi linguaggi di programmazione. Molti modi esistono in Python per leggere dall'input standard. IL funzione input () è il modo più comune è leggere dall'input standard, che è una funzione integrata. IL sys.stdin è un altro modo per leggere dall'input standard le chiamate funzione input () internamente. Python ha un altro modulo chiamato fileinput Per leggere l'input standard. IL funzione input () di questo modulo può essere utilizzato per leggere l'input standard o leggere il contenuto da uno o più file. In questo tutorial sono stati spiegati diversi modi di leggere dall'input standard in Python.

Exampe-1: leggi i dati da stdin utilizzando la funzione input ()

La funzione input () è la funzione più utilizzata per prendere input dall'utente. Crea un file Python con il seguente script per prendere input dall'utente fino a quando non viene premuto il tasto 'N'. Qui, un ciclo infinito viene creato usando il loop while. La prima funzione input () viene utilizzata per prendere i dati dall'utente e la funzione print () viene utilizzata per stampare il valore di input. Successivamente, la funzione input () dello script viene utilizzata per chiedere all'utente di continuare nuovamente l'attività o uscire dallo script. Se l'utente preme 'n' o 'n', l'iterazione del loop verrà interrotta dall'istruzione di pausa; Altrimenti, il ciclo ripeterà di nuovo e prenderà un altro input dall'utente. La funzione superiore () viene utilizzata nello script per capitalizzare il valore dato dall'utente.

# Definisci un ciclo infinito
mentre è vero:
# Prendi input dall'utente
inputVal = input ("digita qualsiasi testo: \ n")
# Stampa il valore di input
Stampa ("Il valore di input è %s" %(inputVal))
# Chiedi la prossima iterazione
NextInput = input ("Vuoi continuare? (Y/n) ")
# Termina dal ciclo se viene premuto 'n'
Se NextInput.Upper () == 'N':
rottura
# Stampa il messaggio di terminazione
Stampa ("Programma terminato.")

Produzione:

Verrà visualizzato il seguente output simile dopo aver eseguito lo script sopra. Qui, 'Linuxhint'ha dato come primo valore di input e terminato dallo script per premere il carattere,' n '.

Esempio-2: leggi i dati da stdin utilizzando sys.stdin

IL sys.stdin è un'altra opzione di Python per prendere input standard dagli utenti dal terminale. Chiama la funzione input () internamente e aggiunge '\N'Dopo aver preso l'input. Crea un file Python con il seguente script per verificare l'uso del sys.stdin Per prendere input standard. Qui, il ciclo "for-in" viene utilizzato per prendere l'input dai tempi dell'infinito dell'utente fino a quando l'utente non desidera terminare lo script. Dopo aver stampato il valore di input, il funzione input () viene utilizzato per chiedere all'utente di fermare lo script o meno. Lo script verrà terminato se l'utente preme 'y' O 'Y'. IL funzione superiore () è usato qui anche per capitalizzare il valore di input.

# Importa modulo sys
Import sys
Stampa ("Digita qualsiasi testo:")
# Prendi input usando stdin
per inputval in sys.Stdin:
# Stampa il valore di input
print ('Il valore di input è: % s' % inputVal)
# Chiedi la prossima iterazione
NextInput = input ("Vuoi terminare? (Y/n) ")
# Termina dal ciclo se 'y/y' viene premuto
Se NextInput.striscia().Upper () == 'y':
rottura
altro:
Stampa ("Digita qualsiasi testo:")

Produzione:

Verrà visualizzato il seguente output simile dopo aver eseguito lo script sopra. Qui, 'Programmazione Python"ha dato come primo valore di input e terminato dallo script per premere il carattere," y ".

Esempio-3: leggi i dati da stdin utilizzando FileInput

FileInput è un altro modulo di Python per prendere input standard. Le righe di testo possono essere prelevate dal terminale o da un file utilizzando fileinput.ingresso(). Se in questa funzione non viene fornito alcun valore di argomento, prenderà input dal terminale e se il nome di un file esistente viene fornito come valore di argomento, prenderà l'input dal file. Crea un file Python con il seguente script per prendere input standard dal terminale. Qui, il ciclo "for-in" viene utilizzato come esempio precedente per fare input per i tempi infiniti fino a quando l'utente non vuole terminare lo script. Successivamente, la funzione input () viene utilizzata per chiedere all'utente di interrompere lo script o meno. Lo script verrà terminato se i tipi dell'utente 'smettila' o 'smettere' o 'smettere'. IL funzione superiore () è usato qui anche per capitalizzare il valore di input. IL funzione strip () viene utilizzato per rimuovere gli spazi extra da entrambi i lati del valore di input.

# Importa modulo FileInput
Importa fileInput
Stampa ("Immettere il testo:")
"
Prendi input usando FileInput.funzione input () e
Premere Ctrl+D per finire di prendere il valore di input
"
per inputval in fileinput.ingresso():
# Termina dal ciclo se viene digitato 'smettere'
Se inputval.striscia().Upper () == "ESCIRE":
rottura
# Stampa il valore di input
print ("Il valore di input è:", inputval)
Stampa ("Immettere il testo:")

Produzione:

Verrà visualizzato il seguente output simile dopo aver eseguito lo script sopra. Qui, "Impara Python da Linuxhint.com 'ha dato come primo valore di input e terminato dallo script per digitare la parola,' smettere '. Devi ricordare una cosa mentre prendi input dal terminale usando il fileinput modulo. Cioè, devi premere Ctrl+D dopo aver preso l'input.

Devi fornire il nome file come valore dell'argomento del fileinput.ingresso() funzione se si desidera prendere i dati dal file anziché dal terminale.

Conclusione:

In questo tutorial sono stati mostrati tre diversi modi per prendere input dal terminale. Nessun modulo è necessario per utilizzare il funzione input () per prendere l'input. Il modulo SYS è necessario per l'importazione per l'utilizzo sys.stdin, e il Modulo FileInput è necessario importare per l'utilizzo fileinput.ingresso() Nello script per prendere input standard. Spero che gli utenti di Python prendano l'input standard in base ai loro requisiti dopo aver letto questo tutorial.