2016-11-15 4 views
0

私はPythonでコンソールゲームを作ったので、物語を印刷するときにコンソールを無効にしたいと思います。それは次のようになります。Pythonはプログラム内でコンソールを無効にしますか?

print("First line of story") 
time.sleep(2) 
print("Second line of story") 
time.sleep(2) 

のように...

だから、私の問題は、それが物語を書いている間、プレイヤーがコンソールにまで入力して混乱することができますということです。何とかタイピングを無効にすることはできますか?

答えて

0

は、UNIX上にある場合、あなたはこのようにエコー無効にすることができます。

import sys 
import termios 
import time 

fd = sys.stdin.fileno() 
old = termios.tcgetattr(fd) 
new = termios.tcgetattr(fd) 
new[3] &= ~termios.ECHO 

termios.tcsetattr(fd, termios.TCSADRAIN, new) 

print("First line of story") 
time.sleep(2) 
print("Second line of story") 
time.sleep(2) 

termios.tcsetattr(fd, termios.TCSADRAIN, old) 

あなたは抑制入力が最後tcsetattr呼び出しの後にエコーさせたくない場合は、あなたがTCSAFLUSHとの最後のTCSADRAINを置き換えることができます。

termiosモジュールのドキュメントは、hereの例でもあります。

関連する問題