2013-02-01 3 views
1

cmd python 모듈을 사용하여 사용자가 텍스트를 (cmd.Cmd) 프롬프트로 입력 할 때 문자를 변경하고 싶습니다. 따라서 사용자가 문자를 입력 할 때 해당 문자를 처리하고 줄에서 변경할 수 있기를 원합니다. cmd 모듈을 사용하여 입력 된대로 모든 문자를 처리하고 바꿀 수 있습니까? 아니면 내가 사용해야하는 다른 모듈이 있습니까?cmd 모듈을 사용하여 실시간으로 사용자 입력 변경

편집 : 이것은 Windows 환경에서 실행하기위한 것입니다.

답변

2

파이썬을 사용하여 Windows에서 키보드 스트로크를 찾는 것처럼 보입니다. 내 가정에서 착각하지 않는다면 dll이 필요하기 때문에 후킹은 파이썬에서 사소하지 않습니다.

pyHook을 시도해 볼 수 있습니다. Windows API를 사용하여 작업을 수행합니다.

여기는 API입니다.

+0

감사합니다. 이것은 내가 찾고 있었던 바로 그 것이다. –

0

cmd.Cmd과 함께이 작업을 수행 할 방법이 전혀 없지만 curses - Curses Programming with Python을 참조하십시오. 함수는 cursesecho()으로 전달되지 않으면 키 코드를 반환하지만 에코하지 않습니다. 그러면 화면에 문자를 표시하기 전에 키 코드를 가져다가 원하는대로 변환 (예 : 'X'로 입력하여 암호로 입력 한 문자를 숨길 수 있음) 할 수 있습니다.

또는 사용하지는 않았지만 Console module은 Windows 용 Python과 동일한 기능을 제공하는 것으로 보입니다.

+0

답변 해 주셔서 감사합니다.하지만 Windows 응용 프로그램을 작성 중이며 _Curses_는 UNIX/LINUX 환경에서만 실행되는 것으로 보입니다. _Curses_ docs는 유사한 Windows 명령 줄 도구 (http://effbot.org/zone/console-index.htm)를 참조하지만 최신 릴리스는 XP 용이며 물론 32 비트입니다. 문제의 Windows 측면을 반영하여 내 질문을 편집하고 있습니다. –

관련 문제