It seems that Python's "print" buffers its output per default. The issue you experience seems not specific to [command], but happens also when you pipe the output to some other command, like in:
./counter.py | grep 2 You will see the '2' only appear when the whole script has finished running. You can tell print to immediately flush the current buffer: print(i, flush=True) cheers, Roman On Tue, 2024-12-10 at 12:02 +0200, Alexandros Drymonitis wrote: > Is it possible to run a Python script with [command] that runs a > `while > True` loop and have it print data to the middle outlet of [command] > continuously? I can't see how to make this work. As a test, I wrote > the > script below and tested it: > > ``` > from time import sleep > > for i in range(10): > print(i) > sleep(1) > ``` > > [command] will output 10 numbers together when the script exits. Is > it > possible to get the incrementing variable i printed every second? > > > --- > pd-list@lists.iem.at - the Pure Data mailinglist > https://lists.iem.at/hyperkitty/list/pd-list@lists.iem.at/message/ZSZSQRZCLC5QQINZ2YKJXPPCNXB2EVH5/ > > To unsubscribe send an email to pd-list-le...@lists.iem.at mailing > list > UNSUBSCRIBE and account-management -> https://lists.iem.at/
signature.asc
Description: This is a digitally signed message part
--- pd-list@lists.iem.at - the Pure Data mailinglist https://lists.iem.at/hyperkitty/list/pd-list@lists.iem.at/message/JKC2GRQC5GMJ44K6IAWOHVR3GGS3VJFS/ To unsubscribe send an email to pd-list-le...@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.iem.at/