[Python-3000] [Python-Dev] Introduction and request for commit access to the sandbox. (original) (raw)
Alexandre Vassalotti alexandre at peadrop.com
Tue May 22 22:35:36 CEST 2007
- Previous message: [Python-3000] [Python-Dev] Introduction and request for commit access to the sandbox.
- Next message: [Python-3000] [Python-Dev] Introduction and request for commit access to the sandbox.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 5/21/07, "Martin v. Löwis" <martin at v.loewis.de> wrote:
> With that said, I would to request svn access to the sandbox for my > work. I will use this access only for modifying stuff in the directory > I will be assigned to. I would like to use the username "avassalotti" > and the attached SSH2 public key for this access.
I have added your key. As we have a strict first.last account policy, I named it alexandre.vassalotti; please correct me if I misspelled it.
Thanks!
> One last thing, if you know semantic differences (other than the > obvious ones) between the C and Python versions of the modules I need > to merge, please let know. This will greatly simplify the merge and > reduce the chances of later breaking.
Somebody noticed on c.l.p that, for cPickle, a) cPickle will start memo keys at 1; pickle at 0 b) cPickle will not put things into the memo if their refcount is 1, whereas pickle puts everything into the memo.
Noted. I think I found the thread on c.l.p about it: http://groups.google.com/group/comp.lang.python/browse_thread/thread/68c72a5066e4c9bb/b2bc78f7d8d50320
Not sure what you'd consider obvious, but I'll mention that cStringIO "obviously" is constrained in what data types you can write (namely, byte strings only), whereas StringIO allows Unicode strings as well.
Yes. I was already aware of this. I just hope this problem will go away with the string unification in Python 3000. However, I will need to deal with this, sooner or later, if I want to port the merge to 2.x.
Less obviously, StringIO also allows
py> s = StringIO(0) py> s.write(10) py> s.write(20) py> s.getvalue() '1020'
That is probably due to the design of cStringIO, which is separated into two subparts StringI and StringO. So when the constructor of cStringIO is given a string, it builds an output object, otherwise it builds an input object:
static PyObject *
IO_StringIO(PyObject *self, PyObject *args) {
PyObject *s=0;
if (!PyArg_UnpackTuple(args, "StringIO", 0, 1, &s)) return NULL;
if (s) return newIobject(s);
return newOobject(128);
}
As you see, cStringIO's code also needs a good cleanup to make it, at least, conforms to PEP-7.
-- Alexandre
- Previous message: [Python-3000] [Python-Dev] Introduction and request for commit access to the sandbox.
- Next message: [Python-3000] [Python-Dev] Introduction and request for commit access to the sandbox.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]