Предположим, у меня есть файл StringIO, похожий на файл, который я только что создал из строки. Я передаю его функции, которая ожидает файлы. Эти функции читают весь файл до конца. Я хочу передать его другой функции, которая ожидает файл-подобный объект. Могу ли я перемотать его так, чтобы его можно было прочитать с самого начала? Если нет, то какие другие подходы я могу предпринять, чтобы выполнить это, что было бы наиболее pythonic?Возможно ли перемотать файл python StringIO в память?
9
A
ответ
16
, конечно: большинство файлов, как объекты Python, которые, возможно, могут перемотать уже поддерживают 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'
>>>
сбрасывает указатель 's.seek (0)' –
Почему вы не просто попробовать и посмотреть? – martineau