如何解决将大文本文件加载到 Python 列表时管理内存
我有一个 1.5 GB 的文本文件,我使用以下代码将其从磁盘加载到内存中
docs = []
with open("full_text_corpus.txt","r") as file:
for line in file:
docs.extend((line.strip().strip("][").replace("'","")).split(","))
使用下面的代码检查 docs 变量占用的大小给了我 1.5GB 代码:
from sys import getsizeof
print(f"Size of docs list is {getsizeof(docs) / (1024 **3)} GB")
我在 Google Colab 上运行它,但它显示占用的 RAM 大约为 14GB,这怎么可能?
import os,psutil
process = psutil.Process(os.getpid())
print(process.memory_info().RSS / (1024**3)) # in bytes
我无法理解这是如何工作的?如果 docs 变量只有 1.5GB,为什么要使用 14GB 的内存?有没有办法释放内存?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。