python 读写与 shutil 复制
python read write vs shutil copy
我遇到了在我的服务器上保存文件的任务(最大文件大小为 10 MB)并找到了 答案。这工作得很好,但我想知道使用 shutil
模块有什么意义,两者之间有什么区别:
file_location = f"files/{uploaded_file.filename}"
with open(file_location, "wb+") as file_object:
file_object.write(uploaded_file.file.read())
对
import shutil
file_location = f"files/{uploaded_file.filename}"
with open(file_location, "wb+") as file_object:
shutil.copyfileobj(uploaded_file.file, file_object)
在我的编程经验中,我多次遇到 shutil
模块,但仍然找不到再导入一次的好处。
您的方法要求整个文件都在内存中。 shutil
分块复制,这样您就可以复制大于内存的文件。此外,shutil
具有按名称复制文件的例程,因此您根本不必打开它们,并且它可以保留权限、所有权和 creation/modification/access 时间戳。
我遇到了在我的服务器上保存文件的任务(最大文件大小为 10 MB)并找到了 shutil
模块有什么意义,两者之间有什么区别:
file_location = f"files/{uploaded_file.filename}"
with open(file_location, "wb+") as file_object:
file_object.write(uploaded_file.file.read())
对
import shutil
file_location = f"files/{uploaded_file.filename}"
with open(file_location, "wb+") as file_object:
shutil.copyfileobj(uploaded_file.file, file_object)
在我的编程经验中,我多次遇到 shutil
模块,但仍然找不到再导入一次的好处。
您的方法要求整个文件都在内存中。 shutil
分块复制,这样您就可以复制大于内存的文件。此外,shutil
具有按名称复制文件的例程,因此您根本不必打开它们,并且它可以保留权限、所有权和 creation/modification/access 时间戳。