在 python 中设置简单的 Markdown 脚本

Posted

技术标签:

【中文标题】在 python 中设置简单的 Markdown 脚本【英文标题】:Set simple Markdown script in python 【发布时间】:2022-01-20 18:30:34 【问题描述】:

我正在尝试将 Markdown 与 python 一起使用,但遇到了问题:

import markdown

layers = [1,2,3]
lr = 2
dir = 'result'

with open('readme.md', 'a+') as f:
    f.write('## Layer sizes')
    for layer in layers:
        f.write('* '.format(layer))
    f.write('## Learning rate is '.format(lr))
    f.write('## Init')
    f.write('Add note about init')
    markdown.markdownFromFile(input=f, output=dir+'/out.html')

我收到错误can't concat str to bytes,这是一个常见问题,例如here。我尝试了更改为字节或返回字符串的不同安排,但我仍然无法让它工作;相反,我只是得到一个稍微不同的错误,但整个主题是 str 和 byte 兼容性。如有任何帮助,我将不胜感激。

【问题讨论】:

您应该添加确切导致问题的行 【参考方案1】:

看来,markdown 包仅适用于 二进制文件 而不是文本文件,因此请对您写入 readme.md 文件的各个字符串进行编码并传入文件指针作为输入和输出,而不仅仅是文件名。

import markdown as md

layers = [1,2,3]
lr = 2
dir = 'result'

with open('readme.md', 'ab+') as f:
    f.write('## Layer sizes\n'.encode())

    for layer in layers:
        f.write(f'* layer\n'.encode())

    f.write(f'## Learning rate is lr\n'.encode())
    f.write('## Init\n'.encode())
    f.write('Add note about init\n'.encode())

md.markdownFromFile(input=open("readme.md", "rb"), output=open("out.html", "wb"))

【讨论】:

以上是关于在 python 中设置简单的 Markdown 脚本的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Markdown 中设置 HTML 类属性?

markdown 在HAProxy中设置CORS

在 python 中设置基本记录器的最简单方法是啥?

markdown 在visual studio中设置编译器警告级别

markdown 为何在FONT-FAMILY属性中设置多个值

如何根据数据类型在 python 中设置条件?