我需要能够在 Windows 和 Mac OS 中使用默认应用程序打开文档。基本上,我想要执行与双击资源管理器或 Finder 中的文档图标时发生的相同操作。在 Python 中执行此操作的最佳方法是什么?
Use the subprocess
模块在 Python 2.4+ 上可用,但不可用os.system()
,所以你不必处理 shell 转义。
import subprocess, os, platform
if platform.system() == 'Darwin': # macOS
subprocess.call(('open', filepath))
elif platform.system() == 'Windows': # Windows
os.startfile(filepath)
else: # linux variants
subprocess.call(('xdg-open', filepath))
双括号是因为subprocess.call()
想要一个序列作为它的第一个参数,所以我们在这里使用一个元组。在带有 Gnome 的 Linux 系统上还有一个gnome-open
命令做同样的事情,但是xdg-open
是 Free Desktop Foundation 标准,适用于 Linux 桌面环境。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)