Python3 на сервере Windows IIS.Нужен небуферизованный вывод - PullRequest
0 голосов
/ 13 февраля 2019

Это код, который у меня есть ниже. Я не могу получить вывод, и браузер должен ждать.Я прочитал материал по сжатию, и он работает с Perl, используя $ | = 1 на том же сервере

#!"C:\Python37\python.exe" -u
import time
import sys


print ("Content-type:text/html\r\n")
print ("<HTML>")

for i in range (30):
    time.sleep(1)
    sys.stdout.flush()
    print ('!')

1 Ответ

0 голосов
/ 14 февраля 2019

Согласно вашему описанию, я предлагаю вам попробовать использовать приведенные ниже коды для отключения буфера с функцией печати python.

class Unbuffered(object):
   def __init__(self, stream):
       self.stream = stream
   def write(self, data):
       self.stream.write(data)
       self.stream.flush()
   def writelines(self, datas):
       self.stream.writelines(datas)
       self.stream.flush()
   def __getattr__(self, attr):
       return getattr(self.stream, attr)

import sys
sys.stdout = Unbuffered(sys.stdout)
print {Hello}

Тогда я предлагаю вам следовать приведенному ниже ответу, чтобы отключить эту буферизацию вывода в IIS.

https://www.experts -exchange.com / questions / 28964536 / Отключить буферизацию вывода в IIS8-для-CGI-exe-file-output.html

...