[ python-Bugs-1416477 ] Inconsistency between StringIO and cStringIO

SourceForge.net noreply at sourceforge.net
Mon Mar 6 06:16:04 CET 2006


Bugs item #1416477, was opened at 2006-01-27 22:51
Message generated for change (Comment added) made by cphsu
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1416477&group_id=5470

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: Python 2.4
Status: Open
Resolution: None
Priority: 5
Submitted By: Michael Kerrin (mkerrin)
Assigned to: Raymond Hettinger (rhettinger)
Summary: Inconsistency between StringIO and cStringIO

Initial Comment:
The readline method for StringIO defalt argument for
the size arguement is None while for all other
file-like objects it is -1. So if we pass in -1 to the
StringIO readline method, all lines are returned, again
inconsistent with the other file-like objects, and if
we pass in None to any other file-like object we get a
TypeError, int required.

The attached python script is a very simple example of
what I mean.

Note that this is causing me a lot of grief in trying
to get tests to pass for a simple fix to an open source
project.

----------------------------------------------------------------------

Comment By: Kent Hsu (cphsu)
Date: 2006-03-06 13:16

Message:
Logged In: YES 
user_id=1468643

Sorry, it seems the bug has been fixed in 2.4.

>>>>>>>>>>>>>>>>>>>
>>> import cStringIO as c
>>> sio = c.StringIO()
>>> sio.write("aaaaa")
>>> sio.truncate(0)
>>> print sio.getvalue()

>>> sio.write("bbbbb")
>>> print sio.getvalue()
aaaaabbbbb

which I get in StringIO module is "bbbbb".

----------------------------------------------------------------------

Comment By: Kent Hsu (cphsu)
Date: 2006-03-06 13:04

Message:
Logged In: YES 
user_id=1468643

BTW, another inconsistency between StringIO and cStringIO :-)

>>> import cStringIO as c
>>> sio = c.StringIO()
>>> sio.write("aaaaa")
>>> sio.truncate(0)
>>> print sio.getvalue()

>>> sio.write("bbbbb")
>>> print sio.getvalue()
aaaaabbbbb

which I get in StringIO module is "bbbbb".


----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1416477&group_id=5470


More information about the Python-bugs-list mailing list