>  기사  >  백엔드 개발  >  Python에서 편집 기능을 사용하여 사용자 입력에 대한 기본값을 제공하는 방법은 무엇입니까?

Python에서 편집 기능을 사용하여 사용자 입력에 대한 기본값을 제공하는 방법은 무엇입니까?

DDD
DDD원래의
2024-10-27 05:33:03794검색

How to Provide Default Values for User Input with Editing Capabilities in Python?

Python에서 기본값으로 입력 편집

input() 함수로 사용자 입력을 받을 때 기본값을 제공하는 것이 바람직한 경우가 많습니다. 자리표시자 또는 시작점 역할을 합니다. 이 경우 사용자는 기본값이 "Download"인 폴더 이름에 대한 입력을 허용하지만 간단히 문자를 추가하거나 제거하여 사용자가 쉽게 편집할 수 있도록 허용하려고 합니다.

표준 input() 및 raw_input( ) 함수는 기본적으로 이 동작을 지원하지 않습니다. 그러나 Linux 시스템에서는 readline 모듈이 솔루션을 제공합니다.

Readline 사용

readline 모듈은 고급 줄 편집 기능을 제공합니다. readline을 활용하는 사용자 정의 입력 함수를 정의하면 원하는 동작을 얻을 수 있습니다. 예는 다음과 같습니다.

<code class="python">import readline

def rlinput(prompt, prefill=''):
   readline.set_startup_hook(lambda: readline.insert_text(prefill))
   try:
      return input(prompt)  # or raw_input in Python 2
   finally:
      readline.set_startup_hook()</code>

이 함수에서:

  • rlinput(prompt, prefill)은 프롬프트와 선택적 prefill 값을 사용합니다.
  • readline.set_startup_hook 프롬프트에 미리 채우기 값을 삽입하는 시작 후크를 설정합니다.
  • input 또는 raw_input은 사용자 입력을 받아들이고 미리 채우기를 편집할 수 있도록 하는 데 사용됩니다.
  • finally 블록은 시작 후크를 해당 시작 후크로 재설정합니다. 기본 동작.

사용법

이 함수를 사용하려면 표준 input() 호출을 rlinput() 함수로 바꾸면 됩니다.

<code class="python">folder = rlinput('Folder name: ', 'Download')</code>

이렇게 하면 "다운로드"라는 텍스트가 미리 입력된 "폴더 이름: 다운로드" 프롬프트가 표시됩니다. 사용자가 아무것도 변경하지 않고 Enter 키를 누르면 기본값이 "다운로드"로 저장됩니다. 사용자가 기본값을 편집하려는 경우 미리 입력된 텍스트에 문자를 추가하거나 덮어쓰기하면 됩니다.

위 내용은 Python에서 편집 기능을 사용하여 사용자 입력에 대한 기본값을 제공하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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