2013-03-14 2 views
6

저는 사용자가 명령 행을 사용하여 프로그램으로 작업하는 Python으로 프로그램을 작성하고 있습니다. 나는 사용자로부터 명령을 얻기 위해 raw_input을 사용하고있다. bash 등에서 "메모리"를 갖고 싶기 때문에, 키보드의 화살표 (위 또는 아래)를 누르면 이전/다음 명령을 얻을 수 있습니다. 나는 (단순히 사용자가 입력 한 모든 문자를 얻고 그것을 확인) 그것을 할에 대한 하나의 방법을 알고,하지만 어쩌면 당신은 더 나은 뭔가/귀엽역사가있는 파이썬의 명령 행

인사 :-) 알고

+0

사용자의 모든 입력을 목록에 넣고 명령 색인을 추적하지 않는 이유는 무엇입니까? 마치 위쪽 화살표를 누르면 명령 색인이 감소하므로 (이전 명령을 가져옴) 명령 색인이 증가합니다. – thegrinner

답변

11

난 당신이 원하는 것을 이해한다면, 당신이 할 수있는 readline 모듈을 가져 오기 만하면됩니다. 이것은 raw_input()의 동작을 수정하여 히스토리와 줄 편집 측면에서 파이썬 대화 형 셸처럼 동작하도록합니다.

그래도 조심, 그것은 내가 try 블록 내부를 가져 오는 게 좋을 것 readline없이 파이썬을 구축하는 것이 가능하다 :

try: 
    import readline 
except: 
    pass #readline not available 
+0

네, 정확히 내가 원했던 것입니다, 감사합니다! – sokoli