gpt4 book ai didi

python - 使用 docutils.core.publish_string 而不是 publish_cmdline,携带 HTML-Specific Options 的 `settings_overrides` 参数无效!

转载 作者:行者123 更新时间:2023-11-28 00:24:22 25 4
gpt4 key购买 nike

下面是我的代码

from docutils.core import publish_string
from docutils.writers.html4css1 import Writer as HisWriter

args = {
'stylesheet' : '/home/wonder/lab/css/note.css',
'stylesheet-path' : None,
}

src = 'ccav'
print publish_string(src, writer=HisWriter(), settings_overrides=args)

我收到以下错误:

AssertionError: stylesheet and stylesheet_path are mutually exclusive.

因此,我将 args 更改为:

args = {
'stylesheet-path' : '/home/wonder/lab/css/note.css',
'stylesheet' : None,
}

现在,没有错误。但是,插入到 HTML 输出中的样式表不是 /home/wonder/lab/css/note.css 的内容。它仍然是/usr/local/lib/python2.7/dist-packages/docutils/writers/html4css1/html4css1.css

也就是说,与使用publish_cmdline时在命令行中指定选项不同,携带HTML-Specific Options的settings_overrides参数在使用publish_string时不起作用。

最佳答案

from docutils.core import publish_string
from docutils.writers.html4css1 import Writer as HisWriter

src = 'ccav'
args = {
'stylesheet_path' : '/path/to/your/stylesheet'

}
print publish_string(src, writer=HisWriter(), settings=None, settings_overrides=args)

您需要执行 settings = None 并使用 stylesheet_path 而不是 stylesheet 来让它忽略内置样式表。

编辑:请注意,我在 distutils 附带的示例脚本之一的源代码中找到了这个答案,所以即使 settings = None 看起来很糟糕,但它似乎并非如此。

关于python - 使用 docutils.core.publish_string 而不是 publish_cmdline,携带 HTML-Specific Options 的 `settings_overrides` 参数无效!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6798167/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com