2013-10-02 4 views
0

input() 또는 그와 동등한 것을 사용하는 대신 사용자가 입력하는 텍스트를 시뮬레이트하기 위해 프로그램 내에서 sys.stdin.write("text")과 같은 작업을 수행 할 수 있습니까?프로그램 내에서 stdin에 쓰기?

내 프로그램에서 버그를 해결할 수 없어서 버그가 어제 게시되었지만 지금까지 답변이 없었으며 이것이 나의 마지막 수단입니다.

(윈도우 XP, Python3.3)

감사합니다.

답변

1

이를 달성하기위한 다양한 해킹이 있습니다.

from io import StringIO 
import sys 

sys.stdin = StringIO("user says hello!") 

이것은 모듈에서 작동해야합니다. 마찬가지로 sys.stdin을 일련의 준비된 사용자 입력에 연결된 스트림으로 바꿀 수 있습니다.

+0

이 코드에 더 많은 설명을 추가 할 수 있습니까? 더 나은 이해를 위해이 모듈에 대해 읽어야한다는 것을 알고 있지만 자세한 내용을 추가 할 수 있습니까? – user2162550

+0

@ user2162550 :이 코드가하는 주요한 일은'sys.stdin'을 사실상 다른 스트림으로 바꾸는 것입니다. 'StringIO'는 문자열에서 읽는 특별한 유형의 의사 파일입니다. –

관련 문제