diff options
author | Guido van Rossum <guido@python.org> | 2007-08-09 01:03:29 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 2007-08-09 01:03:29 (GMT) |
commit | 34d1928766bcae11d8f679a6bf361d9210b6429e (patch) | |
tree | 0b3d5842a690f811fa03f3b52420bbab9f0f5524 /Lib/io.py | |
parent | 918f49e645474382251bfddbb0a2e030051083ef (diff) | |
download | cpython-34d1928766bcae11d8f679a6bf361d9210b6429e.zip cpython-34d1928766bcae11d8f679a6bf361d9210b6429e.tar.gz cpython-34d1928766bcae11d8f679a6bf361d9210b6429e.tar.bz2 |
SF patch# 1770008 by Christian Heimes (plus some extras).
Completely get rid of StringIO.py and cStringIO.c.
I had to fix a few tests and modules beyond what Christian did, and
invent a few conventions. E.g. in elementtree, I chose to
write/return Unicode strings whe no encoding is given, but bytes when
an explicit encoding is given. Also mimetools was made to always
assume binary files.
Diffstat (limited to 'Lib/io.py')
-rw-r--r-- | Lib/io.py | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -303,6 +303,8 @@ class IOBase: Returns False if we don't know. """ + if self.closed: + raise ValueError("isatty() on closed file") return False ### Readline[s] and writelines ### @@ -1239,8 +1241,11 @@ class StringIO(TextIOWrapper): encoding=encoding, newline=newline) if initial_value: + if not isinstance(initial_value, basestring): + initial_value = str(initial_value) self.write(initial_value) self.seek(0) def getvalue(self): + self.flush() return self.buffer.getvalue().decode(self._encoding) |