用python解析标记文件

用python解析标记文件,python,python-3.x,Python,Python 3.x,我在某个地方有2个降价文件,内容是 --- title: test markdown file 1 date: 2020/02/11 --- This is a short one line paragraph. 我想解析它们,下面是代码,但是我只得到1个值作为下面的输出, 输出 {'title':'testmarkdownfile2','date':'2020/02/12'} 这是一个简短的两行段落 如何获得第一个标记文件的内容 import frontmatter,os pat

我在某个地方有2个降价文件,内容是

---
title: test markdown file 1
date: 2020/02/11
---
This is a short one line paragraph.

我想解析它们,下面是代码,但是我只得到1个值作为下面的输出, 输出 {'title':'testmarkdownfile2','date':'2020/02/12'} 这是一个简短的两行段落

如何获得第一个标记文件的内容

 import frontmatter,os
    path = 'C:/input/'
    for entry in os.scandir(path):
      print(entry.path)
      post = frontmatter.load(entry)

    print(post.metadata)
    print(post.content)

将for循环中的两个POST分配给同一个变量,然后在for循环之后打印变量值

如果将打印命令放入for循环中,则会得到所需的结果。;)


您的
print(post.metadata)
etc语句在
for
循环之外。您需要将它们再缩进一级。感谢BUFU的工作这是一个如此愚蠢的错误,我为麻烦感到抱歉,并感谢您的快速帮助。非常感谢:-)没问题。您是否介意将答案标记为正确,这样问题就不会停留在“未解决”状态(我想我会很感激的。)
 import frontmatter,os
    path = 'C:/input/'
    for entry in os.scandir(path):
      print(entry.path)
      post = frontmatter.load(entry)

    print(post.metadata)
    print(post.content)
import frontmatter,os
path = 'C:/input/'
for entry in os.scandir(path):
  print(entry.path)
  post = frontmatter.load(entry)
  print(post.metadata)
  print(post.content)