parameter in their constructor and make sure that the data passes the real
reader or writer encoded as UTF-8::
- import csv, codecs, cStringIO
+ import csv, codecs, io
class UTF8Recoder:
"""
def __init__(self, f, dialect=csv.excel, encoding="utf-8", **kwds):
# Redirect output to a queue
- self.queue = cStringIO.StringIO()
+ self.queue = io.StringIO()
self.writer = csv.writer(self.queue, dialect=dialect, **kwds)
self.stream = f
self.encoder = codecs.getincrementalencoder(encoding)()
:class:`Generator` instance and use its :meth:`flatten` method directly.
For example::
- from cStringIO import StringIO
+ from io import StringIO
from email.generator import Generator
fp = StringIO()
g = Generator(fp, mangle_from_=False, maxheaderlen=60)
Here's a silly example that *might* shed more light::
import pickle
- from cStringIO import StringIO
+ from io import StringIO
src = StringIO()
p = pickle.Pickler(src)
+++ /dev/null
-#ifndef Py_CSTRINGIO_H
-#define Py_CSTRINGIO_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
-
- This header provides access to cStringIO objects from C.
- Functions are provided for calling cStringIO objects and
- macros are provided for testing whether you have cStringIO
- objects.
-
- Before calling any of the functions or macros, you must initialize
- the routines with:
-
- PycString_IMPORT
-
- This would typically be done in your init function.
-
-*/
-#define PycString_IMPORT \
- PycStringIO = (struct PycStringIO_CAPI*)PyCObject_Import("cStringIO", \
- "cStringIO_CAPI")
-
-/* Basic functions to manipulate cStringIO objects from C */
-
-static struct PycStringIO_CAPI {
-
- /* Read a string from an input object. If the last argument
- is -1, the remainder will be read.
- */
- int(*cread)(PyObject *, char **, Py_ssize_t);
-
- /* Read a line from an input object. Returns the length of the read
- line as an int and a pointer inside the object buffer as char** (so
- the caller doesn't have to provide its own buffer as destination).
- */
- int(*creadline)(PyObject *, char **);
-
- /* Write a string to an output object*/
- int(*cwrite)(PyObject *, const char *, Py_ssize_t);
-
- /* Get the output object as a Python string (returns new reference). */
- PyObject *(*cgetvalue)(PyObject *);
-
- /* Create a new output object */
- PyObject *(*NewOutput)(int);
-
- /* Create an input object from a Python string
- (copies the Python string reference).
- */
- PyObject *(*NewInput)(PyObject *);
-
- /* The Python types for cStringIO input and output objects.
- Note that you can do input on an output object.
- */
- PyTypeObject *InputType, *OutputType;
-
-} *PycStringIO;
-
-/* These can be used to test if you have one */
-#define PycStringIO_InputCheck(O) \
- (Py_TYPE(O)==PycStringIO->InputType)
-#define PycStringIO_OutputCheck(O) \
- (Py_TYPE(O)==PycStringIO->OutputType)
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* !Py_CSTRINGIO_H */
self.assert_(isinstance(vi[4], int))
def test_43581(self):
- # Can't use sys.stdout, as this is a cStringIO object when
+ # Can't use sys.stdout, as this is a StringIO object when
# the test runs under regrtest.
self.assertEqual(sys.__stdout__.encoding, sys.__stderr__.encoding)
# Fred Drake's interface to the Python parser
#parser parsermodule.c
-# cStringIO
-#cStringIO cStringIO.c
-
# Lee Busby's SIGFPE modules.
# The library to link fpectl with is platform specific.
RelativePath="..\..\Include\complexobject.h"\r
>\r
</File>\r
- <File\r
- RelativePath="..\..\Include\cStringIO.h"\r
- >\r
- </File>\r
<File\r
RelativePath="..\..\Include\datetime.h"\r
>\r
extern void init_weakref();
extern void initarray();
extern void initbinascii();
-extern void initcStringIO();
extern void initcollections();
extern void initcmath();
extern void initdatetime();
{"_weakref", init_weakref},
{"array", initarray},
{"binascii", initbinascii},
- {"cStringIO", initcStringIO},
{"collections", initcollections},
{"cmath", initcmath},
{"datetime", initdatetime},
; "initcPickle"
; "fast_save_leave"
-; From python26_s.lib(cStringIO)
-; "initcStringIO"
-
; From python26_s.lib(_csv)
; "init_csv"
extern void initstruct(void);
extern void inittime(void);
extern void init_thread(void);
-extern void initcStringIO(void);
extern void initpcre(void);
#ifdef WIN32
extern void initmsvcrt(void);
#ifdef WITH_THREAD
{"_thread", init_thread},
#endif
- {"cStringIO", initcStringIO},
{"pcre", initpcre},
#ifdef WIN32
{"msvcrt", initmsvcrt},
$(PATHOBJ)\ArrayModule.obj \
$(PATHOBJ)\BinAscii.obj \
$(PATHOBJ)\CMathModule.obj \
- $(PATHOBJ)\cStringIO.obj \
$(PATHOBJ)\ErrnoModule.obj \
$(PATHOBJ)\GCModule.obj \
$(PATHOBJ)\GetBuildInfo.obj \
cpickle.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \
$(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \
- $(PY_INCLUDE)\cstringio.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \
+ $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \
$(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \
$(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \
$(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \
$(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \
$(PY_INCLUDE)\tupleobject.h
-cstringio.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h $(PY_INCLUDE)\classobject.h \
- $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h pyconfig.h \
- $(PY_INCLUDE)\cstringio.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \
- $(PY_INCLUDE)\floatobject.h $(PY_INCLUDE)\funcobject.h $(PY_INCLUDE)\import.h \
- $(PY_INCLUDE)\intobject.h $(PY_INCLUDE)\intrcheck.h $(PY_INCLUDE)\listobject.h \
- $(PY_INCLUDE)\longobject.h $(PY_INCLUDE)\methodobject.h \
- $(PY_INCLUDE)\modsupport.h $(PY_INCLUDE)\moduleobject.h $(PY_INCLUDE)\mymalloc.h \
- $(PY_INCLUDE)\myproto.h $(PY_INCLUDE)\object.h $(PY_INCLUDE)\objimpl.h \
- $(PY_INCLUDE)\pydebug.h $(PY_INCLUDE)\pyerrors.h $(PY_INCLUDE)\pyfpe.h \
- $(PY_INCLUDE)\pystate.h $(PY_INCLUDE)\python.h $(PY_INCLUDE)\pythonrun.h \
- $(PY_INCLUDE)\rangeobject.h $(PY_INCLUDE)\sliceobject.h \
- $(PY_INCLUDE)\stringobject.h $(PY_INCLUDE)\sysmodule.h $(PY_INCLUDE)\traceback.h \
- $(PY_INCLUDE)\tupleobject.h
-
cursesmodule.obj: $(PY_INCLUDE)\abstract.h $(PY_INCLUDE)\ceval.h \
$(PY_INCLUDE)\classobject.h $(PY_INCLUDE)\cobject.h $(PY_INCLUDE)\complexobject.h \
pyconfig.h $(PY_INCLUDE)\dictobject.h $(PY_INCLUDE)\fileobject.h \
ArrayModule.obj \
BinAscii.obj \
CMathModule.obj \
- cStringIO.obj \
ErrnoModule.obj \
GetBuildInfo.obj \
GetPathP.obj \
stringobject.h sysmodule.h traceback.h tupleobject.h
cpickle.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \
- pyconfig.h cstringio.h dictobject.h fileobject.h floatobject.h \
+ pyconfig.h dictobject.h fileobject.h floatobject.h \
funcobject.h import.h intobject.h intrcheck.h listobject.h \
longobject.h methodobject.h modsupport.h moduleobject.h mymalloc.h \
mymath.h myproto.h object.h objimpl.h pydebug.h pyerrors.h pyfpe.h \
pythonrun.h rangeobject.h sliceobject.h stringobject.h sysmodule.h \
traceback.h tupleobject.h
-cstringio.obj: abstract.h ceval.h classobject.h cobject.h complexobject.h \
- pyconfig.h cstringio.h dictobject.h fileobject.h floatobject.h \
- funcobject.h import.h intobject.h intrcheck.h listobject.h \
- longobject.h methodobject.h modsupport.h moduleobject.h mymalloc.h \
- myproto.h object.h objimpl.h pydebug.h pyerrors.h pyfpe.h \
- pystate.h python.h pythonrun.h rangeobject.h sliceobject.h \
- stringobject.h sysmodule.h traceback.h tupleobject.h
-
cursesmodule.obj: abstract.h ceval.h classobject.h cobject.h \
complexobject.h pyconfig.h dictobject.h fileobject.h floatobject.h \
funcobject.h import.h intobject.h intrcheck.h listobject.h \
RelativePath="..\Include\complexobject.h"
>
</File>
- <File
- RelativePath="..\Include\cStringIO.h"
- >
- </File>
<File
RelativePath="..\Include\datetime.h"
>