2016-12-28 4 views
0

Когда я вызываю pandoc с «-V args», например, например: «-V title =« Wartość »' в скрипте Python, я получаю вывод без заголовка .. :(Проблемы с вызовом pandoc в python. Предоставление «-V args» не работает

Пример: вручную напечатал команду 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

, но когда я запускаю же сотрудничества mmand в питона (вызов 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

, как это исправить?

ответ

0

Ваше предположение, что вы используете «ту же команду» в 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().

+0

Спасибо за помощь и исправьте мою ошибку :) – ffg