如何以更跨平台的方式打开当前目录的资源管理器/文件管理器?

3 投票
2 回答
1241 浏览
提问于 2025-04-17 02:02

我在寻找一种跨平台的方法来打开操作系统的文件管理器界面。

这段代码简洁明了,适用于Windows XP系统。它允许操作系统选择用户指定的文件管理器。在我的测试中,它使用的是默认的Explorer.exe。这个代码会打开当前的工作目录。

import os
os.startfile('.')

Python的文档说这段代码在Windows平台上有效,但没有说明它是否适用于Unix或Mac平台。

这段代码还会在自己的进程中打开Windows资源管理器,这样我的Python应用程序可以继续运行。它看起来是一个完全独立的进程,而不是子进程,因为我可以关闭或保持打开Python程序或Windows资源管理器,而不会相互影响。(也就是说,关闭一个不会导致另一个也关闭。)

那么,有没有什么Python代码可以在其他平台上打开默认的(或用户选择的)图形界面文件管理器(指向当前路径),并且是在一个独立的进程中运行呢?

2 个回答

1

在Linux桌面系统上,你可以使用'xdg-open'这个命令来打开一个文件夹(或者任何文件),它会用默认的应用程序来打开这个文件类型。所以你可以在Python中调用这个命令,比如这样:

import subprocess

subprocess.call(['xdg-open', '.'])

1

在OSX系统上,有一个简单的方法可以做到这一点,就是使用open命令:

import subprocess

subprocess.call(['/usr/bin/open', '~'])

撰写回答