在 python 中调用 pandoc 的问题。提供"-V args"不起作用



当我用" -v args"打电话给Pandoc时例如:'-v title =;wartość'''在Python脚本中,我获得没有标题的输出。:(

示例:手动键入pandoca(在终端):

/usr/bin/pandoc  /home/user/program/content.md -V title="Wartość" 
-V authors="Jerry" --output=/home/user/program/outputs/book_22.pdf

它有效:)输出文件:pandoc输出在终端中手动pandoc时

但是,当我在Python中运行相同的命令(致电Pandoc):

 subprocess.call(['/usr/bin/pandoc', '/home/user/program/content.md', '-V title="Wartość", -V authors="Jerry" ', '--output=/home/user/program/outputs/book_33.pdf'])

输出文件: pandoc输出我从Python脚本致电他时

如何修复它?

您的假设是您在python中运行"同一命令"的假设是不正确的。当应该分开时,您将参数合并为一个字符串。

subprocess.call(['/usr/bin/pandoc', '/home/user/program/content.md',
    '-V',  'title="Wartość"', '-V', 'authors="Jerry"', 
    '--output=/home/user/program/outputs/book_33.pdf'])

将命令行转换为适合subprocess.call()的列表的一种简单方法是shlex.split()

相关内容

  • 没有找到相关文章

最新更新