2010-11-18 31 views
6

Có một số tương tự của C# MemoryStream tồn tại trong Python (có thể cho phép tôi ghi dữ liệu nhị phân từ một số nguồn trực tiếp vào bộ nhớ)? Và tôi sẽ sử dụng nó như thế nào?MemoryStream tương tự trong Python

+0

Bạn đang hỏi về 'StringIO'? –

Trả lời

10

StringIO là một khả năng: http://docs.python.org/library/stringio.html

Module này thực hiện một lớp tập tin giống như, StringIO, mà đọc và viết một bộ đệm chuỗi (hay còn gọi là file bộ nhớ). Xem mô tả về đối tượng tệp cho các hoạt động (phần Đối tượng tệp). (Đối với dây tiêu chuẩn, xem strunicode.) ...

+3

Hoặc 'cStringIO', giống nhau nhưng được thực hiện ở tốc độ C. –

3

Nếu bạn đang sử dụng Python> = 3.0 và thử Adam's answer, bạn sẽ nhận thấy rằng import StringIO hoặc import cStringIO cả đưa ra một lỗi nhập khẩu. Điều này là do StringIO là now part of the io module.

Python 3.4.0 (default, Apr 11 2014, 13:05:11) 
[GCC 4.8.2] on linux 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import StringIO 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named 'StringIO' 
>>> # Huh? Maybe this will work... 
... 
>>> import cStringIO 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named 'cStringIO' 
>>> # Whaaaa...? 
... 
>>> import io 
>>> io.StringIO 
<class '_io.StringIO'> 
>>> # Oh, good! 
... 

Bạn có thể sử dụng StringIO cũng giống như khi nó là một tập tin Python thường xuyên: write(), close(), và tất cả những gì jazz, với thêm một getvalue() để lấy chuỗi.

Các vấn đề liên quan