Greg Stein wrote: > > [me suggesting new __XXX__ methods on Python instances to provide > the buffer slots to Python programmers] > > Having class instances respond to the buffer interface is interesting, > but until more code attempts to *use* the interface, I'm not quite sure > of the utility... Well, there already is lots of code supporting the interface, e.g. fp.write(), socket.write() etc. Basically all streaming interfaces I guess. So these APIs could be used to "write" the object directly into a file. > >... > > Hmm, how about adding a writeable binary object to the core ? > > This would be useful for the __getwritebbuffer__() API because > > currently, I think, only mmap'ed files are useable as write > > buffers -- no other in-memory type. Perhaps buffer objects > > could be used for this purpose too, e.g. by having them > > allocate the needed memory chunk in case you pass None as > > object. > > Yes, this would be very good. I would recommend that you pass an > integer, however, rather than None. You need to tell it the size of the > buffer to allocate. Since buffer(5) has no meaning at the moment, > altering the semantics to include this form would not be a problem. I was thinking of using the existing buffer(object,offset,size) constructor... that's why I took None as object. offset would then always be 0 and size gives the size of the memory chunk to allocate. Of course, buffer(size) would look nicer, but it seems a rather peculiar interface definition to say: ok, if you pass a real Python integer, we'll take that as size. Who knows, maybe at some in the future, you want to "write" integers via the buffer interface too... then you'd probably also want to write None... so how about a new builtin writebuffer(size) ? Also, I think it would make sense to extend buffers to have methods and attributes: .writeable - attribute that tells whether the buffer is writeable .chardata - true iff the getcharbuffer slot is available .asstring() - return the buffer as Python string object -- Marc-Andre Lemburg ______________________________________________________________________ Y2000: 138 days left Business: http://www.lemburg.com/ Python Pages: http://www.lemburg.com/python/
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4