在 python 中调用 pandoc 时出现问题。提供“-V args”不起作用

Problems with call to pandoc in python. Providing "-V args" are not working

当我使用“-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 output when use manually pandoc in the terminal

但是当我 运行 在 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 output when I call to him from python script

如何解决?

您假设自己 运行 "same command" 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()