Python 为什么sys.stdout.write()显示字符串的长度?

Python 为什么sys.stdout.write()显示字符串的长度?,python,python-3.4,sys,Python,Python 3.4,Sys,正如您在上面的代码中看到的,输出与字符串的长度相同。想知道为什么?为什么此方法显示长度?有什么特别的东西我遗漏了吗?在Python3中(虽然不是在Python2中),sys.stdout.write返回它写入的字符数。解释器正在告诉您刚才调用的函数的返回值。因为您打印的字符串没有换行符,所以它会显示在您打印的字符串的末尾。这有什么意义?我如何停止它?@Tom,因为它不能保证写入所有字节。根据底层原始流的具体情况,尤其是在非阻塞模式下,这可能小于b的长度(以字节为单位) >>>

正如您在上面的代码中看到的,输出与字符串的长度相同。想知道为什么?为什么此方法显示长度?有什么特别的东西我遗漏了吗?

在Python3中(虽然不是在Python2中),
sys.stdout.write
返回它写入的字符数。解释器正在告诉您刚才调用的函数的返回值。因为您打印的字符串没有换行符,所以它会显示在您打印的字符串的末尾。

这有什么意义?我如何停止它?@Tom,因为它不能保证写入所有字节。根据底层原始流的具体情况,尤其是在非阻塞模式下,这可能小于b的长度(以字节为单位)
>>> import sys
>>> sys.stdout.write("Hello")
Hello5
>>> sys.stdout.write("My name is something")
My name is something20
>>>