【问题标题】:Open PDF with default program in Windows 7在 Windows 7 中使用默认程序打开 PDF
【发布时间】:2011-09-08 05:13:22
【问题描述】:

我有一个程序,其中帮助文档位于与 .py 模块相同的文件夹中的 .pdf 中。我需要该程序使用系统默认的 PDF 阅读器打开 .pdf。

我在我的程序中使用这个代码:

if sys.platform.startswith('darwin'):
    os.system("SlannanHelp.pdf")
elif sys.platform.startswith('linux'):
    os.system("SlannanHelp.pdf")
elif sys.platform.startswith('win32'):
    os.filestart("SlannanHelp.pdf")

但是,当它在 Windows 7 中运行时,我收到以下错误:

Traceback(最近一次调用最后一次):文件“C:\Users\user\MousePaw Games\MousePaw Labs\Slannan\Slannan.py”,第 1286 行,在 help_event 中 os.filestart("SlannanHelp.pdf") AttributeError: 'module' object 没有属性'filestart'

我的猜测是 os.filestart 在 NT 系统中有效,但在 Windows 7 中无效。是否有适用于两者的命令,或者仅适用于 Windows 7 的命令?如果是后者,如何查看用户运行的是 NT 还是 7 版本的 Windows?

提前致谢!

【问题讨论】:

  • 你试过在 Windows 中使用 os.system() 吗?
  • 我会试试os.system('start SlannanHelp.pdf')

标签: python file sys


【解决方案1】:

问题是os.filestart根本不存在。

你可能想要os.startfile

您还应该看看: Open document with default application in PythonHow to open a file with the standard application?,在mac上推荐system('open', filepath),在linux上推荐system('xdg-open', filepath)

【讨论】:

  • 我会试试的。我正在使用 xdg-open 和 open 函数,但由于某种原因,它们在 C&P 中消失了......
  • 有效!我找不到足够的投票按钮来回答您的问题。简洁、有效、切中要害。您解决了我的问题,并指出了我错过的文件中的另一个错误。谢谢!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多