2010-08-04 40 views
5

Tôi đang sử dụng xlwt trong python để tạo bảng tính Excel. Bạn có thể trao đổi điều này cho hầu như bất cứ điều gì khác mà tạo ra một tập tin; đó là những gì tôi muốn làm với tệp quan trọng.Lưu tệp tạm thời

from xlwt import * 

w = Workbook() 
#... do something 
w.save('filename.xls') 

Tôi muốn có hai trường hợp sử dụng cho tệp: Tôi truyền phát trực tuyến tới trình duyệt của người dùng hoặc tôi đính kèm nó vào email. Trong cả hai trường hợp, tệp chỉ cần tồn tại thời lượng của yêu cầu web tạo ra nó.

Những gì tôi nhận được, lý do để bắt đầu chuỗi này được lưu vào tệp thực trên hệ thống tệp có các rào cản riêng của nó (dừng ghi đè, xóa tệp khi đã hoàn thành). Có nơi nào đó tôi có thể "cứu" nó ở nơi nó chỉ sống trong ký ức và chỉ trong suốt thời gian yêu cầu?

Trả lời

5

cStringIO

(hoặc mmap nếu cần có thể thay đổi)

+0

Những thứ tuyệt vời. Tôi đã nghĩ về một cái gì đó như thế này nhưng giả định (không chính xác) rằng xlwt sẽ chỉ mất một tên tập tin và không phải là một đối tượng. – Oli

+0

Đa hình ftw! – katrielalex

+0

Hmmm ... nếu bạn thay đổi hình ảnh tệp kết quả, vui lòng không báo cáo sự cố khi cố đọc nó. –

1

generalising câu trả lời, như bạn đề nghị: Nếu "bất cứ điều gì khác mà tạo ra một tập tin" sẽ không chấp nhận một đối tượng tập tin giống như là cũng như một filepath, sau đó bạn có thể giảm bớt rắc rối bằng cách sử dụng tempfile.NamedTemporaryFile

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