2017-11-03 24 views
0

是否有更新的方式在Linux中使用来自Python 3的外部查看器打开PDF,而不是subprocess在Python中打开PDF的首选方法3

这听起来像一个noobish和重复的问题,但我看着this questionthis question,所有的答案都在7岁和建议灰心方法,如os.system,老方法,如手动创建subprocess.Popen或Windows的唯一方法像os.startfile

因此,自从这些问题得到解答以来,从Python内启动PDF阅读器的首选方法出现了,还是仍然是最佳答案?

+0

我会建议使用本指南,我跟随了一段时间后https://code.tutsplus.com/tutorials/how-to-work-with -pdf-documents-using-python - cms-25726 – theBrainyGeek

+0

@theBrainyGeek谢谢,澄清了我的问题。我正在寻找一些可以打开外部查看器的东西,比如Evince – jpyams

+0

请参阅此答案:https://stackoverflow.com/a/435669/399317 – Kos

回答

1

从3.6开始,Python仍然没有使用默认程序打开文件的跨平台方式。
Issue 3177建议添加一个,但它还没有发生。

所以:

  • 在Windows上,有一个系统调用,您可以通过os.startfile从Python中实现它,
  • 在Linux中,有一个名为xdg-open执行此命令行工具,
  • 在Mac OS上,有一个名为open的命令行工具。

这意味着不幸的是,您仍然需要检查操作系统并选择正确的方法。调用命令行工具的正确方法是使用subprocess模块。

这个答案提供了一个代码片段:

Open document with default application in Python