它实际上比标题所示更进一步,如果我在main中的任何地方都有raw_input(),那么在用户输入输入之前不会发生任何事情,包括在调用raw_input之前应该发生的任何函数调用或输出。这是我的代码的一个非常简单的例子,以及它运行时会发生什么。
def main():
answer = raw_input('Continue?')
print 'You said: ', answer
当我运行它时: (屏幕上没有任何内容)
(用户输入)
blah blah blah
(输出):
Continue?You said: blah blah blah
如果这是一种荒谬的简单修复,我很抱歉,但我搜索了很多而且找不到任何东西。我正在使用Python 2.7运行Windows 7 64位,如果它与它有任何关系。此外,相同的代码在解释器中完美地工作,这有点奇怪。如果你们能解决这个问题,那就太棒了!
谢谢, 将
编辑:只是尝试使用sys.stdin.readline()
进行解决,但遇到了同样的问题。
答案 0 :(得分:0)
看起来这是一个缓冲问题。我通过输入'-u'命令解决了它。