Допустим, вам нужно записать двоичные данные в стандартный вывод:Python: sys.stdout.flush() vs. sys.stdout.buffer.flush()?
sys.stdout.buffer.write(data)
Затем промыть его, вы можете использовать любой из этих двух:
sys.stdout.flush()
sys.stdout.buffer.flush()
Оба этих двух вызовов, кажется, работают одинаково в простой ситуации. Однако:
первый вызывает поток по всей
stdout
объекта (_io.TextIOWrapper
)второй вызывает поток только на
buffer
подъобекта (_io.BufferedWriter
).
В каких ситуациях вы предпочитаете друг друга?
Можете ли вы привести пример использования 'BufferedIOBase' вместо' sys.stdout.buffer' для получения более полного ответа? (I.e. нужно создать новый объект, какие аргументы и т. Д.) – user7501761
Я думаю, что я ответил на вопрос, который вы задали разумно. Если вы хотите знать, как использовать класс BufferedIOBase, вы всегда можете посмотреть [ресурсы, подобные этим] (http://www.programcreek.com/python/example/26237/io.BufferedIOBase) – loganasherjones