txt - ¿Cómo envuelvo una cadena en un archivo en Python?
funcion write python (4)
¿Cómo creo un objeto similar a un archivo (el mismo tipo de pato que File) con el contenido de una cadena?
Dos buenas respuestas. Agregaría un pequeño truco: si necesita un objeto de archivo real (algunos métodos esperan uno, no solo una interfaz), aquí hay una forma de crear un adaptador:
En Python 3.0:
import io
with io.StringIO() as f:
f.write(''abcdef'')
print(''gh'', file=f)
f.seek(0)
print(f.read())
Esto funciona para Python2.7 y Python3.x:
io.StringIO(u''foo'')
Para Python 2.x, use el módulo StringIO . Por ejemplo:
>>> from cStringIO import StringIO
>>> f = StringIO(''foo'')
>>> f.read()
''foo''
Utilizo cStringIO (que es más rápido), pero tenga en cuenta que no acepta cadenas Unicode que no puedan codificarse como cadenas simples ASCII . (Puede cambiar a StringIO cambiando "de cStringIO" a "de StringIO").
Para Python 3.x, use el módulo io
.
f = io.StringIO(''foo'')