我有一个很大的 yaml 文件,其中包含一些无用的数据。当使用yaml.load()加载这个文件时,内存消耗超出了我们计算机的物理限制。我读不懂。我是否只能读取 python 字典所需的部分数据?有一些库或代码可以解决这个问题吗?
使用 PyYaml,您可以执行以下操作:
with open("file.yaml", 'r') as handle:
for event in yaml.parse(handle):
# handle the event here
Run Code Online (Sandbox Code Playgroud)
这会逐个处理 YAML 文件,而不是将其全部加载到数据结构中。当然,您现在需要从事件流中手动解析结构,但这使您无法进一步处理部分数据。
您可以查看 PyYaml 的Composer 实现,了解它如何从事件构造 Python 对象,以及它期望从事件流中获得什么结构。
| 归档时间: |
|
| 查看次数: |
3574 次 |
| 最近记录: |