在Windows 7中用默认程序打开PDF

3 投票
1 回答
11322 浏览
提问于 2025-04-17 01:46

我有一个程序,它的帮助文档是一个.pdf文件,和.py模块放在同一个文件夹里。我希望程序能用系统默认的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上运行这个代码时,出现了以下错误:

追踪记录(最近的调用在最前面): 文件 "C:\Users\user\MousePaw Games\MousePaw Labs\Slannan\Slannan.py",第1286行,在 help_event os.filestart("SlannanHelp.pdf") 属性错误:'模块'对象没有属性 'filestart'

我猜测os.filestart这个命令在NT系统上可以用,但在Windows 7上不行。有没有一个命令可以在这两种系统上都能用,或者一个只适用于Windows 7的命令?如果是后者,我该如何检查用户是运行NT版本还是7版本的Windows呢?

提前谢谢你!

1 个回答

7

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

你可能想用的是 os.startfile

你还可以看看以下内容: 在Python中用默认应用打开文档如何用标准应用打开文件? 这些内容推荐在Mac上使用 system('open', filepath),在Linux上使用 system('xdg-open', filepath)

撰写回答