from time import sleep
if __name__ == "__main__"
for i in range(10):
print(i)
sleep(1)
from subprocess import Popen, PIPE
if __name__ == "__main__"
process = Popen(['python', 'executor.py'], stdout=PIPE, universal_newlines=True)
while process.poll() is None:
output = process.stdout.readline()
print(output)
process.wait()
python starter.py
после выполнения команды выполнить результат следующим образом: # после 10 секунд позже.... 0 1 2 3 4 5 6 7 8 9
Я хочу напечатать номер каждый из scecond, как я могу решить эту проблему?
Стандартный вывод буферизуется. Вы должны очистить буфер после каждой print
:
from time import sleep
import sys
if __name__ == "__main__":
for i in range(10):
print(i)
sys.stdout.flush()
sleep(1)