2008-10-27 11 views
4

Existe-t-il une classe Python qui entoure l'interface file (lecture, écriture, etc.) autour d'une chaîne? Je veux dire quelque chose comme les classes stringstream en C++.Interface de fichier Python pour les chaînes

Je pensais à l'utiliser pour rediriger la sortie de print dans une chaîne, comme celui-ci

sys.stdout = string_wrapper() 
print "foo", "bar", "baz" 
s = sys.stdout.to_string() #now s == "foo bar baz" 

EDIT: Ceci est un double de How do I wrap a string in a file in Python?

Répondre

12

Oui, il y a StringIO:

import StringIO 
import sys 


sys.stdout = StringIO.StringIO() 
print "foo", "bar", "baz" 
s = sys.stdout.getvalue() 
+0

C'est tout. Merci. – CAdaker

2

Pour de meilleures performances, notez que vous pouvez également utiliser cStringIO. Mais notez aussi que ce n'est pas très portable pour python 3.

Questions connexes