如何在python中读取yaml文件时跳过行?

Aen*_*gus 2 python yaml

我熟悉类似的问题,但它们似乎并没有解决应该是一个简单的问题.我正在使用Python 2.7x并尝试读取类似于此的YAML文件:

%YAML:1.0
radarData: !!opencv-matrix
rows: 5
cols: 2
dt: u
data: [0, 0, 0, 0, 0, 10, 5, 3, 1, 22]
Run Code Online (Sandbox Code Playgroud)

现在我只需要'data:'文档.我尝试了一种vanilla方法然后尝试强制跳过前4行(第二个被注释掉的代码片段).两种方法都有错误.

import yaml
stream = file('test_0x.yml', 'r') 
yaml.load(stream)
# alternative code snippet
# with open('test_0x.yml') as f:
#  stream = f.readlines()[4:]
# yaml.load(stream)
Run Code Online (Sandbox Code Playgroud)

关于如何跳过前几行的任何建议都将非常感激.

mha*_*wke 10

实际上,你只需要跳过前两行.

import yaml

skip_lines = 2
with open('test_0x.yml') as infile:
    for i in range(skip_lines):
        _ = infile.readline()
    data = yaml.load(infile)

>>> data
{'dt': 'u', 'rows': 5, 'data': [0, 0, 0, 0, 0, 10, 5, 3, 1, 22], 'cols': 2}
>>> data['data']
[0, 0, 0, 0, 0, 10, 5, 3, 1, 22]
Run Code Online (Sandbox Code Playgroud)

跳过前5行也行.