我了解打开文件只会创建一个占用固定内存的文件处理程序,而与文件大小无关。
Django具有一种称为InMemoryUploadedFile
的类型,它表示通过表单上传的文件。
我在django View 中获得了我的文件对象的句柄,如下所示:
file_object = request.FILES["uploadedfile"]
该file_object的类型为
InMemoryUploadedFile
。现在我们可以自己看到,file_object具有
.read()
方法,该方法用于将文件读入内存。bytes = file_object.read()
InMemoryUploadedFile
类型的 file_object 是否已经“在内存中”? 最佳答案
文件对象上的read()
方法是一种从文件对象内部访问内容的方法,而不管该文件是在内存中还是存储在磁盘上。它类似于其他实用程序文件访问方法,例如readlines
或seek
。
该行为类似于built into Python,后者又是在操作系统的fread()
方法之上构建的。
关于InMemoryUploadedFile
确切存储在哪里的问题,它是bit more complicated。
关于python - InMemoryUploadedFile真的是 "in memory"吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20827939/