Comment lire à partir de stdin en Python

How Read From Stdin Python



Prendre les commentaires de l'utilisateur est une partie importante de tout langage de programmation. La sortie des nombreux programmes dépend de l'entrée standard. La manière de prendre les entrées de l'utilisateur est différente pour différents langages de programmation. Il existe de nombreuses façons en python de lire à partir de l'entrée standard. Les fonction input() est le moyen le plus courant de lire à partir de l'entrée standard, qui est une fonction intégrée. Les sys.stdin est une autre façon de lire à partir de l'entrée standard les appels fonction input() intérieurement. Python a un autre module nommé entrée de fichier pour lire l'entrée standard. Les fonction input() de ce module peut être utilisé pour lire l'entrée standard ou lire le contenu d'un ou plusieurs fichiers. Différentes manières de lire à partir de l'entrée standard en Python ont été expliquées dans ce tutoriel.

Exemple-1 : Lire les données de stdin à l'aide de la fonction input()

La fonction input() est la fonction la plus utilisée pour prendre les entrées de l'utilisateur. Créez un fichier python avec le script suivant pour prendre l'entrée de l'utilisateur jusqu'à ce que la touche 'n' soit enfoncée. Ici, une boucle infinie est créée en utilisant la boucle while. La première fonction input() est utilisée pour prendre les données de l'utilisateur, et la fonction print() est utilisée pour imprimer la valeur d'entrée. Ensuite, la fonction input() du script est utilisée pour demander à l'utilisateur de continuer la tâche à nouveau ou de quitter le script. Si l'utilisateur appuie sur « n » ou « N », l'itération de la boucle sera arrêtée par l'instruction break ; sinon, la boucle sera réitérée et prendra une autre entrée de l'utilisateur. La fonction upper() est utilisée dans le script pour capitaliser la valeur donnée par l'utilisateur.







# Définir une boucle infinie

tandis que Vrai:

# Prendre l'entrée de l'utilisateur

valeur d'entrée= saisir('Tapez n'importe quel texte : ')

# Imprimer la valeur d'entrée

imprimer('La valeur d'entrée est %s'%(valeur d'entrée))

# Demander la prochaine itération

nextInput= saisir('Voulez-vous continuer? (O/N)')

# Terminer la boucle si 'n' est pressé

sinextInput.supérieur() == 'N':

Pause

# Imprimer le message de résiliation

imprimer('Programme terminé.')

Sortir:

La sortie similaire suivante apparaîtra après l'exécution du script ci-dessus. Ici, ' LinuxHint ' a donné comme première valeur d'entrée et s'est terminé à partir du script pour appuyer sur le caractère, 'n'.





Exemple-2 : Lire les données de stdin à l'aide de sys.stdin

Les sys.stdin est une autre option de Python pour prendre l'entrée standard des utilisateurs du terminal. Il appelle la fonction input() en interne et ajoute ' ' après avoir pris l'entrée. Créez un fichier python avec le script suivant pour vérifier l'utilisation du sys.stdin pour prendre une entrée standard. Ici, la boucle 'for-in' est utilisée pour prendre l'entrée de l'utilisateur un nombre infini de fois jusqu'à ce que l'utilisateur veuille terminer le script. Après l'impression de la valeur saisie, le fonction input() est utilisé pour demander à l'utilisateur d'arrêter ou non le script. Le script sera terminé si l'utilisateur appuie sur ' et ' ou ' ET '. Les fonction supérieure () est également utilisé ici pour capitaliser la valeur d'entrée.





# Importer le module sys

importer système


imprimer('Tapez n'importe quel texte :')


# Prendre une entrée en utilisant stdin

pourvaleur d'entréedans système.standard:

# Imprimer la valeur d'entrée

imprimer('La valeur d'entrée est : %s'% entréeVal)


# Demander la prochaine itération

nextInput= saisir(« Voulez-vous résilier ? (O/N)')

# Terminer la boucle si 'y/Y' est pressé

sinextInput.déshabiller().supérieur() == 'ET':

Pause

autre:

imprimer('Tapez n'importe quel texte :')

Sortir:

La sortie similaire suivante apparaîtra après l'exécution du script ci-dessus. Ici, ' Programmation Python ' a donné comme première valeur d'entrée et s'est terminé à partir du script pour appuyer sur le caractère, 'y'.



Exemple-3 : Lire les données de stdin en utilisant fileinput

Le fileinput est un autre module de Python pour prendre l'entrée standard. Les lignes de texte peuvent être extraites du terminal ou d'un fichier en utilisant fichierinput.input() . Si aucune valeur d'argument n'est fournie dans cette fonction, elle prendra l'entrée du terminal et si le nom d'un fichier existant est fourni comme valeur d'argument, elle prendra l'entrée du fichier. Créez un fichier python avec le script suivant pour prendre l'entrée standard du terminal. Ici, la boucle 'for-in' est utilisée comme exemple précédent pour prendre une entrée pour des temps infinis jusqu'à ce que l'utilisateur veuille terminer le script. Ensuite, la fonction input() permet de demander à l'utilisateur d'arrêter ou non le script. Le script sera terminé si l'utilisateur tape « Quitter » ou « Quitter » ou « QUITTER » . Les fonction supérieure () est également utilisé ici pour capitaliser la valeur d'entrée. Les fonction strip() est utilisé pour supprimer les espaces supplémentaires des deux côtés de la valeur d'entrée.

# Importer le module d'entrée de fichier

importer entrée de fichier


imprimer(« Entrez le texte : »)

'' '

Prenez l'entrée en utilisant la fonction fileinput.input() et

appuyez sur ctrl+D pour finir de prendre la valeur d'entrée

'' '


pourvaleur d'entréedans entrée de fichier.saisir():

# Termine la boucle si 'quit' est tapé

siinputVal.déshabiller().supérieur() == 'QUITTER':

Pause


# Imprimer la valeur d'entrée

imprimer(« La valeur d'entrée est : »,valeur d'entrée)

imprimer(« Entrez le texte : »)

Sortir:

La sortie similaire suivante apparaîtra après l'exécution du script ci-dessus. Ici, « Learn python from LinuxHint.com » a donné comme première valeur d'entrée et s'est terminé à partir du script pour taper le mot « quit ». Vous devez vous souvenir d'une chose lorsque vous saisissez une entrée du terminal à l'aide de la entrée de fichier module. C'est-à-dire que vous devez appuyer sur ctrl+d après avoir saisi l'entrée.

Vous devez fournir le nom de fichier comme valeur d'argument du fichierinput.input() fonction si vous voulez prendre des données du fichier au lieu du terminal.

Conclusion:

Trois manières différentes de prendre les entrées du terminal ont été montrées dans ce didacticiel à l'aide de trois exemples simples. Aucun module n'est requis pour utiliser le fonction input() pour prendre l'entrée. Le module sys est requis pour l'importation pour l'utilisation sys.stdin , et le module d'entrée de fichier est nécessaire d'importer pour utiliser fichierinput.input() dans le script pour prendre l'entrée standard. J'espère que les utilisateurs de Python utiliseront l'entrée standard en fonction de leurs besoins après avoir lu ce didacticiel.