sys.stdout.write()和raw_input()可以一起完成吗?

时间:2017-11-12 22:19:14

标签: python python-2.7

我正在尝试在Python 2.7中构建我的第一个基于文本的游戏。但是,我在获取输入方面遇到了一些麻烦。我想使用sys.stdout.write()使它看起来更复古,但我希望它在完成打印后等待输入。当我尝试执行raw_input()时,它打印正常,但在应该等待输入的位置,它会打印None

import sys
import time

def print_slow(str):
    for letter in str:
        sys.stdout.write(letter)
        time.sleep(.04)

answer = raw_input(print_slow("Do you wish to begin? (Y/n)"))

1 个答案:

答案 0 :(得分:1)

您面临两个挑战

  1. {% set pd_begdate = header_data.pd_begdate %} {% set pd_enddate = header_data.pd_enddate ~ ' 23:59:59' %} {% for key, count_item in range(pd_begdate|date('z'), pd_enddate|date('z'), 1)|slice(column_offset, column_count, 'preserve_keys') %} {% set item = pd_begdate|date_modify('+'~ key ~' day') %} <td class="tr5 td9"><p class="p9 ft0">{{ item|date("M") }}<br>{{ item|date("d") }}<br>{{ item|date("D") }}<br>{{ key + 1 }}</p></td> {% endfor %} 接受要打印的字符串,但您的函数会返回raw_input
  2. 您的输出可能是行缓冲的,因此您可能无论如何都看不到任何输出。
  3. 问题的评论中提到了第一个问题的解决方案。第二个解决方案就是在写每个字母之间刷新输出。

    None