【问题标题】:python os.system doesn't work as expectpython os.system 不能按预期工作
【发布时间】:2013-11-09 04:59:52
【问题描述】:

我正在尝试使用 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

这是为什么呢? 谢谢。

【问题讨论】:

  • 我猜你导入了import os你不应该使用它os.system('wkhtmltopdf /tmp/sudoku.html sudoku.pdf')
  • 不,我是从操作系统导入系统

标签: python pdf-generation wkhtmltopdf


【解决方案1】:

除非/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')

【讨论】:

    猜你喜欢
    • 2021-02-26
    • 1970-01-01
    • 1970-01-01
    • 2015-06-26
    • 2013-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多