Adjusting the 1024 byte stdin buffer limit
Fredrik Lundh
fredrik at pythonware.com
Mon Jan 17 15:26:39 EST 2005
"brucoder" <timj at tolisgroup.com> wrote:
> Currently, when sending a data stream that exceeds 1024 bytes via
> stdin, the stream blocks at the 1024th byte. This precludes completion
> of the submission of the data stream.
you can pass in a buffer size when you open a file:
>>> help(open)
class file(object)
| file(name[, mode[, buffering]]) -> file object
|
| Open a file. The mode can be 'r', 'w' or 'a' for reading (default),
| writing or appending. The file will be created if it doesn't exist
| when opened for writing or appending; it will be truncated when
| opened for writing. Add a 'b' to the mode for binary files.
| Add a '+' to the mode to allow simultaneous reading and writing.
| If the buffering argument is given, 0 means unbuffered, 1 means line
| buffered, and larger numbers specify the buffer size.
| Add a 'U' to mode to open the file for input with universal newline
| support. Any line ending in the input file will be seen as a '\n'
| in Python. Also, a file so opened gains the attribute 'newlines';
| the value for this attribute is one of None (no newline read yet),
| '\r', '\n', '\r\n' or a tuple containing all the newline types seen.
|
| 'U' cannot be combined with 'w' or '+' mode.
|
| Note: open() is an alias for file().
or use os.fdopen() to reopen an existing file handle:
>>> help(os.fdopen)
fdopen(fd [, mode='r' [, bufsize]]) -> file_object
Return an open file object connected to a file descriptor.
assuming "sending via stdin" means using a pipe, this page explains why all
this probably won't matter:
http://www.opengroup.org/onlinepubs/7990989799/xsh/write.html
(see the "Write requests to a pipe or FIFO" section)
</F>
More information about the Python-list
mailing list