Unbuffered mode
Hamish Allan
hamish at gmail.com
Wed Feb 13 11:20:32 EST 2008
Further to my query about trying to make Python run unbuffered, I have
discovered that a SyntaxError seems to cause Python to close its SSH
connection:
$ ssh localhost python -u
,
File "<stdin>", line 1
,
^
SyntaxError: invalid syntax
$
Whereas a different sort of error (e.g. NameError) does not:
$ ssh localhost python -u
pront
[^D]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'pront' is not defined
$
Can anyone tell me why?!
Thanks,
Hamish
On Feb 13, 2008 1:12 AM, Hamish Allan <hamish at gmail.com> wrote:
> Hi,
>
> The man page for python says:
>
> "-u Force stdin, stdout and stderr to be totally unbuffered."
>
> However, when I try:
>
> $ ssh localhost python -u
> print 'hello, world'
> [^D]
> hello, world
> $
>
> Nothing happens until I send that EOF. I'm pretty sure it's not SSH
> that's buffering because when I try:
>
> $ ssh localhost bash
> echo 'hello, world'
> hello, world
> [^D]
> $
>
> The 'hello, world' comes back immediately (I don't need to send the EOF).
>
> I've also tried:
>
> $ ssh localhost python -u
> import sys
> sys.stdout.write('hello, world\n')
> sys.stdout.flush()
> [^D]
> hello, world
> $
>
> Again, nothing happens until I send the EOF. How can I get Python to
> run over SSH unbuffered?
>
> Thanks,
> Hamish
>
More information about the Python-list
mailing list