首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过python子进程调用asciidoc失败

通过python子进程调用asciidoc失败
EN

Stack Overflow用户
提问于 2013-06-25 18:59:20
回答 2查看 196关注 0票数 0

下面是我的代码:

代码语言:javascript
复制
   #!/usr/bin/python

    import subprocess

    asciidoc_file_name = '/tmp/redoc_2013-06-25_12:52:19.txt'
    asciidoc_call = ["asciidoc","-b docbook45",asciidoc_file_name]
    print asciidoc_call
    subprocess.call(asciidoc_call)

下面是输出:

代码语言:javascript
复制
    labamba@lambada:~$ ./debug.py
    ['asciidoc', '-b docbook45', '/tmp/redoc_2013-06-25_12:52:19.txt']
    asciidoc: FAILED: missing backend conf file:  docbook45.conf
    labamba@lambada:~$ asciidoc -b docbook45 /tmp/redoc_2013-06-25_12\:52\:19.txt
    labamba@lambada:~$ file /tmp/redoc_2013-06-25_12\:52\:19.xml
    /tmp/redoc_2013-06-25_12:52:19.xml: XML document text
    labamba@lambada:~$ file /etc/asciidoc/docbook45.conf
    /etc/asciidoc/docbook45.conf: HTML document, ASCII text, with very long lines

通过Python子进程调用时,asciidoc会报告缺少配置文件。在命令行上调用时,一切都很正常,配置文件也在那里。有人能理解这一点吗?我迷路了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-25 19:30:04

试试这个:

代码语言:javascript
复制
asciidoc_call = ["asciidoc","-b", "docbook45", asciidoc_file_name]

另一个调用将调用带有"-b docbook45"的ascidoc作为一个单独的选项,这将不起作用。

票数 2
EN

Stack Overflow用户

发布于 2015-09-14 21:54:06

这个问题很古老..。无论如何,asciidoc是用Python语言实现的,它还包括可以作为Python程序的模块使用的asciidocapi.py。模块文档字符串表示:

代码语言:javascript
复制
asciidocapi - AsciiDoc API wrapper class.

The AsciiDocAPI class provides an API for executing asciidoc. Minimal example
compiles `mydoc.txt` to `mydoc.html`:

  import asciidocapi
  asciidoc = asciidocapi.AsciiDocAPI()
  asciidoc.execute('mydoc.txt')

- Full documentation in asciidocapi.txt.
- See the doctests below for more examples.

为简单起见,它实现了AsciiDocAPI类,该类在初始化时搜索asciidoc脚本,并在后台将其作为模块导入。这样,您可以在Python中更自然地使用它,并且可以避免使用subprocess.call()

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17295548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档