当前位置: 代码迷 >> python >> 立即将用户输入输出到控制台
  详细解决方案

立即将用户输入输出到控制台

热度:110   发布时间:2023-06-14 08:49:37.0

以下代码非常适合Python3。它将立即将用户输入输出到控制台。

import sys
for line in sys.stdin:
    print (line)

不幸的是,它似乎不适用于Python 2.7和2.6(是的,我确实更改了print命令)-它只是不会输出我的行

我是在犯一些愚蠢的错误,还是有其他方法可以使它在较低版本的Python中工作?

您可以使用itersys.stdin.readline来直接获取输出,类似于python3中的行为:

import sys
for line in iter(sys.stdin.readline,""):
    print(line)

""是一个前哨值,当达到EOF或在Unix上输入CTRL-D或在Windows上输入CTRL-Z时,它将中断我们的循环。

通过导入 ,可以使类Unix系统上的用户更好用它,它为您提供了行编辑功能,包括历史记录。 但是您必须使用raw_input() (或Python 3上的input() ),而不是sys.stdin.readline()

import readline

while True:
    try:
        print raw_input()
    except EOFError:
        break

按Ctrl D可以通过EOF干净地终止程序。

好的,我在找到了解决方案。

import sys

while 1:
    try:
        line = sys.stdin.readline()
    except KeyboardInterrupt: # Ctrl+C
        break
    if not line: # EOF
        break
    print line, # avoid adding newlines (comma: softspace hack)

有点搞砸了,是编织物吗? :)

  相关解决方案