Maison  >  Article  >  développement back-end  >  Comment empêcher l'insertion de nouvelle ligne dans les fonctions `raw_input()` et `input()` de Python ?

Comment empêcher l'insertion de nouvelle ligne dans les fonctions `raw_input()` et `input()` de Python ?

DDD
DDDoriginal
2024-10-26 17:27:02809parcourir

How to Prevent Newline Insertion in Python's `raw_input()` and `input()` Functions?

Empêcher l'insertion de nouvelle ligne dans les fonctions d'entrée

Ce problème survient lors de l'utilisation des fonctions raw_input() ou input() (pour Python 2.x et 3.x, respectivement) car ils ajoutent automatiquement une nouvelle ligne après la saisie de l'utilisateur. Ce comportement est problématique lorsque l'on tente de supprimer la nouvelle ligne et de placer l'entrée de l'utilisateur directement après une chaîne imprimée. , il est impossible d'empêcher raw_input() d'insérer une nouvelle ligne.

Cependant

, il existe une solution de contournement pour repositionner le curseur sur la ligne précédente une fois la saisie reçue.

Repositionner le curseur

Une solution intelligente implique parcourir le curseur pour mettre en surbrillance la ligne précédente à l’aide de séquences d’échappement ANSI. En spécifiant la longueur de la saisie utilisateur (x) et la longueur de l'invite raw_input() (y), le curseur peut être repositionné en conséquence :

Dans ce code :

' 33[{}C' déplace le curseur vers la droite de x y

print '3[{}C3[1A'.format(len(x) + y),
' 33[1A' déplace le curseur vers le haut d'une ligne

    Cela efface efficacement l'entrée de l'utilisateur de la ligne en cours et permet de continuer à imprimer ou à manipuler le texte.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn