Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中以块形式编写文件的理由是什么?_Python - Fatal编程技术网

在Python中以块形式编写文件的理由是什么?

在Python中以块形式编写文件的理由是什么?,python,Python,我有两个代码段,其中一个直接写入文件,另一个分块写入文件: 导入请求 res=requests.get(someurl) myFile=open(文件路径“wb”) myFile.write(res.content) myFile.close() 以及以下内容(作为推荐方式呈现) 导入请求 res=requests.get(someurl) myFile=open(文件路径“wb”) 对于res.iter_内容中的区块(100000): myFile.write(块) myFile.close

我有两个代码段,其中一个直接写入文件,另一个分块写入文件:

导入请求
res=requests.get(someurl)
myFile=open(文件路径“wb”)
myFile.write(res.content)
myFile.close()
以及以下内容(作为推荐方式呈现)

导入请求
res=requests.get(someurl)
myFile=open(文件路径“wb”)
对于res.iter_内容中的区块(100000):
myFile.write(块)
myFile.close()

我对不同的内容长度进行了实验,由于它们提供了完全相同的结果,我想知道以块形式编写文件的理由是什么?

长话短说,有时文件太大,无法同时保存在内存中(特别是在大数据时代)。因此,分块


您可以在博客帖子(免责声明,而不是我的博客)中找到更多详细信息。

最明显的原因是
内存优化
。分块写入可能是因为文件足够大,可以立即存储在内存中。因此,分块阅读并逐个处理它。另一种可能是,您的输入数据流以块或流的形式出现,所有这些都来自于这个用例,但情况可能并非如此。但这是一种可能适用的情况。