◐ Shell
clean mode source ↗

Message 161303 - Python tracker

I think the note for communicate() just means that you might get MemoryError (or some other exception) if the output is too big.  But I agree it is ambiguous.

communicate() uses select() on Unix and threads on Windows, so deadlocks should not be possible.

> So, what should I use?

Use communicate() (on a machine with infinite memory;-)