textiowrapper read py3 libreria fileio python file-io stringio

read - stringio python 3



¿Cuál es la mejor manera de escribir los contenidos de un StringIO en un archivo? (1)

¿Cuál es la mejor manera de escribir el contenido de un búfer StringIO en un archivo?

Actualmente hago algo como:

buf = StringIO() fd = open (''file.xml'', ''w'') # populate buf fd.write (buf.getvalue ())

Pero entonces buf.getvalue () haría una copia de los contenidos?


Utilice shutil.copyfileobj :

with open (''file.xml'', ''w'') as fd: buf.seek (0) shutil.copyfileobj (buf, fd)

o shutil.copyfileobj (buf, fd, -1) para copiar desde un objeto de archivo sin usar trozos de tamaño limitado (utilizado para evitar el consumo incontrolado de memoria).