>  기사  >  백엔드 개발  >  Python\의 `raw_input()` 및 `input()` 함수에서 줄바꿈 삽입을 방지하는 방법은 무엇입니까?

Python\의 `raw_input()` 및 `input()` 함수에서 줄바꿈 삽입을 방지하는 방법은 무엇입니까?

DDD
DDD원래의
2024-10-26 17:27:02809검색

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

입력 함수에 새 줄 삽입 방지

이 문제는 raw_input() 또는 input() 함수를 사용할 때 발생합니다(Python 2.x의 경우). 및 3.x) 사용자 입력 후에 자동으로 개행 문자를 추가하기 때문입니다. 이 동작은 개행 문자를 제거하고 인쇄된 문자열 바로 뒤에 사용자 입력을 배치하려고 할 때 문제가 됩니다.

невозможность отклучения печати новой строки в raw_input()

일반적인 믿음에도 불구하고 , raw_input()이 개행을 삽입하는 것을 방지하는 것은 불가능합니다. 그러나 입력을 받은 후 커서를 이전 줄로 재배치하는 해결 방법이 있습니다.

커서 재배치

영리한 해결책은 다음과 같습니다. ANSI 이스케이프 시퀀스를 사용하여 커서를 탐색하여 이전 줄을 강조 표시합니다. 사용자 입력 길이(x)와 raw_input() 프롬프트 길이(y)를 지정하면 그에 따라 커서 위치를 변경할 수 있습니다.

print '3[{}C3[1A'.format(len(x) + y),

이 코드에서:

  • ' 33[{}C' 커서를 x ​​y만큼 오른쪽으로 이동
  • ' 33[1A' 커서를 한 줄 위로 이동

이렇게 하면 다음에서 사용자 입력이 효과적으로 지워집니다. 현재 줄을 삭제하고 텍스트를 계속 인쇄하거나 조작할 수 있습니다.

위 내용은 Python\의 `raw_input()` 및 `input()` 함수에서 줄바꿈 삽입을 방지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.