我在交互模式下测试了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
>>>
答案 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