簡體   English   中英

Python Django:在內存中創建文件對象,而無需實際創建文件

[英]Python Django : Creating file object in memory without actually creating a file

我有一個端點,我想在其中收集響應數據並將其轉儲到S3上的文件中,如下所示-https://stackoverflow.com/a/18731115/4824482

這就是我試圖做到的方式-

file_obj = open('/some/path/log.csv', 'w+')
file_obj.write(request.POST['data'])

然后按照上述鏈接將file_obj傳遞到S3相關代碼。

問題是我沒有在服務器上創建文件的權限。 有什么辦法可以在內存中創建文件對象,然后將其傳遞給S3代碼?

可能是重復的問題,即如何在不創建臨時本地文件的情況下將文件上傳到S3 您可以通過查看該問題的答案找到最佳建議。

很快答案是下面的代碼:

from boto.s3.key import Key
k = Key(bucket)
k.key = 'yourkey'
k.set_contents_from_string(request.POST['data'])

嘗試tempfile https://docs.python.org/2/library/tempfile.html

f = tempfile.TemporaryFile()
f.write(request.POST['data'])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM