在 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()
。
当我使用“-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()
。