gpt4 book ai didi

python - 逐行读取文件——对磁盘的影响?

转载 作者:太空宇宙 更新时间:2023-11-03 13:14:01 25 4
gpt4 key购买 nike

我目前正在编写一个处理非常大(> 10GB)文件的 python 脚本。由于无法将整个文件加载到内存中,我现在正在逐行读取和处理它:

for line in f:
....

脚本完成后,它会经常运行,所以我开始考虑这种读取会对我的磁盘生命周期产生什么影响。

脚本实际上会逐行读取还是会发生某种由操作系统驱动的缓冲?如果不是,我应该自己实现某种中介缓冲区吗?经常撞击磁盘真的有害吗?我记得读过一些关于 BitTorrent 的磁盘快速磨损的文章,正是因为这种按位读/写而不是操作更大的数据 block 。

我在测试环境中同时使用 HDD 和 SSD,因此对于这两个系统的答案都很有趣。

最佳答案

出于性能原因,您的操作系统和 Python 都使用缓冲区以较大块的形式读取数据。从 Python 逐行读取文件不会对您的磁盘产生重大影响。

具体来说,Python 无法在不提前扫描以找到行分隔符的情况下为您提供单独的行,因此它会读取 block ,解析出单独的行,并且每次迭代都会从缓冲区中获取行,直到必须读取另一个 block 才能找到下一组线。操作系统使用 buffer cache总体上有助于加快 I/O。

关于python - 逐行读取文件——对磁盘的影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35406505/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com