2015-02-06 13 views
9

Giả sử tôi có một đối tượng giống như tệp StringIO mà tôi vừa tạo từ một chuỗi. Tôi chuyển nó đến một chức năng mà mong đợi các tập tin. Chức năng này đọc toàn bộ tập tin thông qua kết thúc. Bây giờ tôi muốn chuyển nó tới một hàm khác mà trông đợi một đối tượng giống như tập tin. Tôi có thể tua lại nó để nó có thể được đọc ngay từ đầu không? Nếu không, tôi có thể thực hiện những cách tiếp cận nào khác để thực hiện điều này có thể là nguyên nhân nhất?Có thể tua lại tệp python StringIO trong bộ nhớ không?

+2

reset con trỏ 's.seek (0) ' –

+0

Tại sao bạn không chỉ cần thử nó và xem? – martineau

Trả lời

16

chắc chắn: hầu hết các đối tượng tập tin giống như trong python mà có thể có thể được rewound đã hỗ trợ 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' 
>>> 
Các vấn đề liên quan