Como faço para enrolar uma corda em um arquivo em Python?
Pergunta
Como faço para criar um arquivo do tipo de objeto (mesmo tipo de pato como arquivo) com o conteúdo de uma string?
Solução
Para Python 2.x, utilize o StringIO o módulo. Por exemplo:
>>> from cStringIO import StringIO
>>> f = StringIO('foo')
>>> f.read()
'foo'
Eu uso cStringIO (que é mais rápido), mas nota que não aceitar Unicode cordas que não podem ser codificados como strings ASCII simples . (Você pode mudar para StringIO mudando "de cStringIO" para "a partir StringIO".)
Para Python 3.x, use o io
módulo .
f = io.StringIO('foo')
Outras dicas
Em Python 3.0:
import io
with io.StringIO() as f:
f.write('abcdef')
print('gh', file=f)
f.seek(0)
print(f.read())
Duas respostas boas. Eu adicionaria um pequeno truque - se você precisa de um objeto de arquivo real (alguns métodos esperar um, não apenas uma interface), aqui é uma maneira de criar um adaptador:
Isso funciona para Python2.7 e Python3.x:
io.StringIO(u'foo')
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow