【问题标题】:Set simple Markdown script in python在 python 中设置简单的 Markdown 脚本
【发布时间】: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 兼容性。如有任何帮助,我将不胜感激。

【问题讨论】:

  • 您应该添加确切导致问题的行

标签: python markdown


【解决方案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"))

【讨论】:

    猜你喜欢
    • 2018-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-08
    • 2016-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多