Разница между sys.stdout.write и print? - PullRequest
321 голосов
/ 16 июля 2010

Существуют ли ситуации, в которых sys.stdout.write() предпочтительнее, чем print?

( Примеры: лучшая производительность; более понятный код)

Ответы [ 11 ]

1 голос
/ 23 августа 2017

Есть ли ситуации, в которых sys.stdout.write () предпочтительнее печатать?

Например, я работаю над маленькой функцией, которая печатает звезды в формате пирамиды при прохождениичисло в качестве аргумента, хотя вы можете сделать это, используя end = "" для печати в отдельной строке, я использовал sys.stdout.write в координации с печатью , чтобы сделать эту работу.Чтобы уточнить это, stdout.write печатает в той же строке, где print всегда печатает его содержимое в отдельной строке.

import sys

def printstars(count):

    if count >= 1:
        i = 1
        while (i <= count):
            x=0
            while(x<i):
                sys.stdout.write('*')
                x = x+1
            print('')
            i=i+1

printstars(5)
...