Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x PyCharm不刷新输入流_Python 3.x_Input_Pycharm - Fatal编程技术网

Python 3.x PyCharm不刷新输入流

Python 3.x PyCharm不刷新输入流,python-3.x,input,pycharm,Python 3.x,Input,Pycharm,我正在做一个界面,用户需要在准备继续时按“enter”键。步骤很少,因此这种情况会发生几次。我希望避免出现这样的情况:用户意外地双击“enter”,而下一阶段开始得太早。换句话说,我希望每次在“请按enter继续”问题之前刷新输入流。我正在Windows 10中使用PyCharm 2018.3.7(社区版,于2019年7月9日构建) 下面我构建了下面的代码 import msvcrt import time def flush_input(): while msvcrt.kbhit():

我正在做一个界面,用户需要在准备继续时按“
enter
”键。步骤很少,因此这种情况会发生几次。我希望避免出现这样的情况:用户意外地双击“
enter
”,而下一阶段开始得太早。换句话说,我希望每次在“请按enter继续”问题之前刷新输入流。我正在Windows 10中使用PyCharm 2018.3.7(社区版,于2019年7月9日构建)

下面我构建了下面的代码

import msvcrt
import time

def flush_input():
  while msvcrt.kbhit():
      aa = msvcrt.getch()
      print("(Debug flush) Discarding character >%s<" % aa)

def main():
  aa = input("Hit enter when you are ready to start.")
  n = 5;
  print("you typed >%s<" % aa)
  time.sleep(n)
  print("slept for %d seconds" % n)
  flush_input()
  bb = input("Type something and press return.")
  print("you typed >%s<" % bb)

main()
在PyCharm控制台中生成结果。没有提示。在第一个问题中,我输入了hjkl和“回车”。在睡眠期间,我输入了
dsafd
和“回车”,最后一个我一直没能回答的问题:

Hit enter when you are ready to start.hjkl
you typed >hjkl<
dsafd
slept for 5 seconds
Type something and press return.you typed >dsafd<
准备好开始时按enter键。hjkl
您键入了>hjkl<
dsafd
睡了5秒钟
键入内容,然后按return。您键入的是>dsafd<
Hit enter when you are ready to start.hjkl
you typed >hjkl<
dsafd
slept for 5 seconds
Type something and press return.you typed >dsafd<