python os.system无法正常工作

时间:2013-10-29 20:25:54

标签: python pdf-generation wkhtmltopdf

我正在尝试使用wkhtmltopdf工具和python生成一个非常简单的pdf:

# html string (works fine in all browsers)
html = generate_html()
f = open("/tmp/sudoku.html", 'w')
f.write(html)
system('wkhtmltopdf /tmp/sudoku.html sudoku.pdf')
f.close()

结果pdf是空白的,但如果我直接从命令行调用wkhtmltopdf,它可以工作:

wkhtmltopdf /tmp/sudoku.html sudoku.pdf

为什么? 感谢。

1 个答案:

答案 0 :(得分:3)

除非/tmp/sudoku.html已包含内容,否则您需要先关闭文件对象,然后再调用wkhtmltopdf以从中生成PDF。除非您flush已经写入文件的内容,否则在关闭文件之前不会向/tmp/sudoku.html输出任何内容。尝试:

html = generate_html()
f = open("/tmp/sudoku.html", 'w+')
f.write(html)
f.close() # close the file first
system('wkhtmltopdf /tmp/sudoku.html sudoku.pdf')