以交互方式从sys.stdout输出

时间:2013-10-22 18:23:42

标签: python python-3.x

我在交互模式下测试了sys.stdout.write;为什么我会在数字后面加上'额外'1和2?如果我从文件中运行代码,我会在Windows机器上获得预期的输出(1234 ...)Python 3.3

>>> import sys
>>> for i in range(15):
...     sys.stdout.write(str(i))
...
01
11
21
31
41
51
61
71
81
91
102
112
122
132
142
>>>

1 个答案:

答案 0 :(得分:5)

Python 回显sys.stdout.write()调用的返回值,这是写入的字节数:

>>> import sys
>>> written = sys.stdout.write('10')
10>>> written
2

此处下一个提示是在没有换行符的情况下写的'10'

或者,作为一种不同的演示方式,在循环中写入0个字节会多次打印0

>>> for i in range(3):
...     sys.stdout.write('')
... 
0
0
0