2009-10-15 8 views
3

Il existe une fonction de bibliothèque en lecture seule qui prend un fichier en tant qu'argument. Mais j'ai une chaîne.En Python, comment transformer une chaîne en un fichier?

Comment puis-je convertir une chaîne en un fichier, que si vous lisez le fichier, il retournera cette chaîne? Je ne veux pas écrire sur le disque.

+3

La question ne consiste pas à apprendre à écrire une chaîne sur le disque. Donc, votre but dans la transformation d'une chaîne en un fichier serait d'exploiter une propriété ou un comportement spécifique à un fichier et non trouvé (ou facilement émulé) avec une chaîne. Si oui, quelles propriétés/comportements? Si non, de quoi s'agit-il? – mjv

Répondre

15

Le module StringIO:

>>> import StringIO 
>>> f = StringIO.StringIO("foo") 
>>> f.read() 
'foo' 

Le module cStringIO a la même interface, et est plus rapide, mais ne peut pas traiter avec des chaînes Unicode qui ont des caractères non-ASCII.

StringIO documentation

0

que voulez-vous? si vous voulez lire le fichier il suffit d'utiliser:

ou

open('/path/to/file','r').read() 

si vous voulez lire la chaîne, faites comme suggérer par Phil

Questions connexes