В то время как я пытался несколько питания в моем Python 3 интерпретатора (Python 3.4.2, установленного через варку), я столкнулся с некоторыми странные выходы я не ожидалось:Странное поведение в Python 3 с помощью модуля Sys
>>> import sys
>>> sys.stdout.write("foo")
foo3
>>> sys.stderr.write("bar")
3
bar
После экспериментирования с разными строками, я думаю, что число - это длина входов, которые я передаю.
Я попытался это в Python 2.7.8 (не дает номера в выходах) и Python 3.4.2, созданные virtualenv
(дает тот же результат)
должен ли выход быть, как это?
Я считаю, что это ожидаемое поведение. Число печатается только потому, что вы находитесь в python REPL. Не будет никаких чисел, если вы запустите этот код как скрипт. – zaquest