Carregando documento como string bruta no yaml com PyYAML

Eu quero analisar documentos yaml como os seguintes

meta-info-1: val1
meta-info-2: val2

---

Plain text/markdown content!
jhaha

Se euload_all com PyYAML, recebo o seguinte

>>> list(yaml.load_all(open('index.yml')))
[{'meta-info-1': 'val1', 'meta-info-2': 'val2'}, 'Plain text/markdown content! jhaha']

O que estou tentando obter aqui é que o arquivo yaml deve conter dois documentos, e o segundo deve ser interpretado como um documento de cadeia única, mais especificamente qualquer corpo grande de texto com formatação de remarcação. Não quero que ele seja analisado como sintaxe YAML.

No exemplo acima, PyYAML retorna o segundo documento como uma única sequência. Mas se o segundo documento tiver um:aractere @ no lugar do caractere! por exemplo, recebo um erro de sintaxe. Isso ocorre porque o PyYAML está analisando o conteúdo desse document

Existe uma maneira de dizer ao PyYAML que o segundo documento é apenas uma sequência bruta e não para analisá-l

Edita: Algumas excelentes respostas lá. Enquanto o uso de aspas ou a sintaxe literal resolve o problema mencionado, eu gostaria que os usuários pudessem escrever o texto sem formatação. Apenas os tr- (ou.) e escreva um grande corpo de texto sem formatação. O que também pode incluir aspas. Portanto, gostaria de saber se posso dizer ao PyYAML para analisar apenas um documento e me fornecer o segundo em brut

Eidt 2: Então, adaptar a ideia do agf, em vez de usar uma tentativa / exceto como o segundo documento pode ser uma sintaxe yaml válida,

config_content, body_content = open(filename).read().split('\n---')
config = yaml.loads(config_content)
body = yaml.loads(body_content)

Obrigado agf.

questionAnswers(2)

yourAnswerToTheQuestion