2014-03-02 2 views
1

무엇인가 쓸 때 raw_input("> ")을 사용하고 있습니다. 그 후 문자 수를 얻기 위해 len()을 사용하고 있습니다.raw_input으로 쓰는 동안 문자 개수가

something = raw_input("> ") 
print something 
print len(something) 

내가 쓰는 텍스트의 처음이나 끝에 문자를 쓰는 동안 문자 수를 얻을 수 있습니까? 순간 그래서 것은 내가 A test (6 자)를 쓸 때 나는 "> " 전에 시작 부분에 실시간으로 (예에서 "6"을보고 싶습니다 어떻게?이 작업을 수행 할 수 있습니다

파이썬이 라인에서 기본적으로 모드를 버퍼링
+0

파이썬 인터프리터에서는 그렇게 생각하지 않습니다.하지만 GUI에서는 할 수 있습니다. –

+0

예 GUI가 아닌 raw_input()에서 작성하는 동안이 내용이 표시됩니다. – Johnny

+0

아니, 당신이 파이썬 인터프리터 창을 제어 할 수 없기 때문에 불가능하다고 생각합니다. 자체 커스텀 CLI를 사용하여 자신의 GUI를 작성해야합니다 (필요한 경우). –

답변

1

.. 당신이이 키를 입력 누를 때까지, 따라서 raw_input는 반환하지 않습니다 즉시, Python read a single character from the user를 참조 하나의 문자를 읽으려면 다음

당신이 이런 식으로 할 수있는 필요가 오히려 쓸모가 있지만 내 생각 :

getch = _Getch() #_Getch is defined in the post I mentioned above 
a='' 
cnt=0 
inputs='' 
while True: 
    print '\r%6d> '%cnt, inputs, 
    a=getch() 
    if ord(a) == 13: 
     break 
    cnt+=1 
    inputs+=a 

print '\nuser inputs:', inputs 
관련 문제