Obtenir une entrée multiligne des utilisateurs en Python
La gestion des entrées peut être une tâche cruciale dans de nombreux scénarios de programmation. Python 3 a introduit plusieurs changements par rapport à Python 2, et une différence notable est le comportement révisé de la fonction input(). Dans Python 3, input() lit et renvoie une seule ligne d'entrée, ce qui entraîne des difficultés lorsque l'on travaille avec plusieurs lignes de données.
Pourquoi ne pas utiliser raw_input() ?
Dans Python 2, la fonction raw_input() gérait efficacement les entrées multilignes. Cependant, en raison de certains problèmes de sécurité et de la préférence pour une approche de gestion des entrées plus cohérente, raw_input() est obsolète dans Python 3.
Alternatives pour les entrées multilignes
Pour Pour résoudre ce problème et permettre une gestion efficace des entrées multilignes, il existe deux alternatives principales disponibles dans Python 3 :
1. Boucle avec input() et gestion EOF :
Cette méthode implique la création d'une boucle et la lecture répétée de l'entrée jusqu'à ce que la fin du fichier (EOF) soit rencontrée. Pour gérer correctement EOF, l'exception EOFError de Python peut être utilisée.
print("Enter/Paste your content. Ctrl-D or Ctrl-Z (windows) to save it.") contents = [] while True: try: line = input() except EOFError: break contents.append(line)
2. Utilisation de sys.stdin.readlines() :
Cette méthode lit l'intégralité de l'entrée depuis stdin (généralement la saisie au clavier de l'utilisateur) et renvoie une liste de lignes.
import sys contents = sys.stdin.readlines()
Dans En conclusion, bien que raw_input() ne soit plus disponible dans Python 3, il existe des approches alternatives qui permettent une gestion efficace des entrées multilignes. En utilisant ces méthodes, les développeurs peuvent résoudre efficacement leurs exigences de gestion des entrées dans Python 3.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!