当前位置: 首页 > 面试题库 >

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

狄飞鹏
2023-03-14
问题内容

我需要在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中,如果我说 我收到字母h和换行符。如果我说 我收到字母h,没有换行符。如果我说 我得到字母h,一个空格和字母。如何防止Python打印空间? 打印语句是同一循环的不同迭代,因此我不能只使用运算符。 问题答案: 你需要致电,因为否则它将把文本保存在缓冲区中,你将看不到它。

  • 问题内容: 我正在尝试使用SQLAlchemy的Pylons,但我很喜欢,只有一件事,是否可以打印出在执行之前生成的原始SQL数据? 问题答案: from sqlalchemy.schema import CreateTable 如果使用声明性语法: 更新: 由于我已经接受了答案,并且klenwell答案中有重要信息,因此我也会在此处添加它。 我需要获取原始表sql才能为一些现有模型设置测试。这是

  • 问题内容: 我正在将express.js与EJS模板一起使用,并且正在尝试执行以下操作: 但它打印此: 如何打印“ html安全”字符串? 问题答案: 您应该在各处使用html代码,并且仅在需要动态数据的地方使用EJS标签。例: 为了专门回答您的问题,您可以使用输出未 转义的 HTML数据。

  • 我是python编程的新手,我的代码出现了运行时错误。感谢任何帮助。 第一行由一个表示测试用例数量的整数T组成。每个测试用例的第一行由一个表示数组大小的整数N组成。下面的一行由N个空格分隔的整数Ai组成,表示数组中的元素。 2 2 1

  • 问题内容: 我想让RasPi充当由三个Linux客户端组成的小型家庭网络中的小型打印和文件服务器。不幸的是,Brother只为x86提供二进制驱动程序,所以我不能在RasPi上运行Brother打印机。但是,我发现了一个博客条目,提议在RasPi的CUPS安装上创建一个原始队列,并使用客户端上安装的二进制驱动程序从客户端访问此队列。这是博客条目:http : //chemdroid.net/en/

  • 问题内容: 在Python 3.3中,打印时是否有任何方法可以使字符串下标中的文本成为一部分? 例如H 2(H然后是下标2) 问题答案: 如果您只关心数字,则可以使用和方法: 请注意,这在Python 2中不起作用-请参见Python 2 maketrans()函数与Unicode不兼容,以获取有关为何如此以及如何解决此问题的解释。