2015-02-06 10 views
9

Diciamo che ho un oggetto simile a un file StringIO che ho appena creato da una stringa. Lo passo a una funzione che si aspetta i file. Questa funzione legge l'intero file fino alla fine. Voglio ora passarlo a un'altra funzione che si aspetta un oggetto simile a un file. Posso riavvolgerlo in modo che possa essere letto dall'inizio? In caso contrario, quali altri approcci posso prendere per realizzare ciò che sarebbe più pitonico?È possibile riavvolgere un file in memoria RAMIO di Python?

+2

azzerare il puntatore 's.seek (0)' –

+0

Perché non basta provare e vedere? – martineau

risposta

16

certamente: la maggior parte degli oggetti simile a file in python che può eventualmente essere riavvolto già supportano seek()

>>> import StringIO 
>>> f = StringIO.StringIO("hello world") 
>>> f.read(6) 
'hello ' 
>>> f.tell() 
6 
>>> f.seek(0) 
>>> f.tell() 
0 
>>> f.read() 
'hello world' 
>>>