我了解打开文件只会创建一个占用固定内存的文件处理程序,而与文件大小无关。
Django具有一种称为InMemoryUploadedFile的类型,它表示通过表单上传的文件。

我在django View 中获得了我的文件对象的句柄,如下所示:

file_object = request.FILES["uploadedfile"]

该file_object的类型为InMemoryUploadedFile

现在我们可以自己看到,file_object具有.read()方法,该方法用于将文件读入内存。
bytes = file_object.read()
InMemoryUploadedFile类型的 file_object 是否已经“在内存中”?

最佳答案

文件对象上的read()方法是一种从文件对象内部访问内容的方法,而不管该文件是在内存中还是存储在磁盘上。它类似于其他实用程序文件访问方法,例如readlinesseek

该行为类似于built into Python,后者又是在操作系统的fread()方法之上构建的。



关于InMemoryUploadedFile确切存储在哪里的问题,它是bit more complicated

关于python - InMemoryUploadedFile真的是 "in memory"吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20827939/

10-10 10:47