Python在原始模式stdin打印中添加空格

我需要在Python中将标准输入切换为非缓冲模式,以便可以从中读取单个字符。我设法使其正常工作,但现在标准输出已损坏:以某种方式在换行符之后发出了一些空格字符,第一行为零,第二行为3,第三行为6,依此类推:

ASD

ASD

ASD

操作系统是Ubuntu Linux 12.04,64位版本,Python版本是3.2.3。

我如何摆脱这种行为?

以下是我使用的代码:

import sys

import tty

import termios

fd = sys.stdin.fileno()

old_settings = termios.tcgetattr(fd)

tty.setraw(sys.stdin)

for i in range(0, 10):

print("ASD")

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

回答:

看起来您只在换行,而没有回车。更改为

print("ASD", end="\r\n")

以上是 Python在原始模式stdin打印中添加空格 的全部内容, 来源链接: utcz.com/qa/408180.html

回到顶部