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/

Attachment: 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/

Reply via email to