Python 3, está usando o estilo sys.stdout.buffer.write (

Depois que eu aprendi sobrelend arquivos unicode no script da web Python 3.0, agora é hora de aprender usandoprint() com unicode.

Procurei escrever unicode, por exemploessa questã explica que você não pode escrever caracteres unicode no console não unicode. No entanto, no meu caso, a saída é dada ao Apache e tenho certeza de que é capaz de lidar com texto unicode. Por alguma razão, no entanto, ostdout do meu script da web está emascii.

Obviamente, se eu estivesse abrindo um arquivo para me escrever, faria algo como

open(filename, 'w', encoding='utf8')

mas desde que recebi um fluxo aberto, comecei a usar

sys.stdout.buffer.write(mytext.encode('utf-8'))

e tudo parece funcionar. Isso viola alguma regra de bom comportamento ou tem consequências indesejadas?

questionAnswers(4)

yourAnswerToTheQuestion