Python: 在资源管理器/Nautilus/Finder中打开文件夹

46 投票
6 回答
34374 浏览
提问于 2025-04-16 21:08

我在用Python编程,我有一个文件夹的路径。我想用系统默认的文件夹浏览器打开这个文件夹。比如,如果是在Windows电脑上,我想用资源管理器;如果是在Linux上,我想用Nautilus或者其他默认的浏览器;如果是在Mac上,我想用Finder。

我该怎么做呢?

6 个回答

16

下面的内容适用于Mac电脑。

import webbrowser
webbrowser.open('file:///Users/test/test_folder')

在GNU/Linux系统上,使用文件夹的绝对路径。(确保这个文件夹是存在的)

import webbrowser
webbrowser.open('/home/test/test_folder')

正如其他回答中提到的,这在Windows系统上也可以使用。

22

你可以使用 subprocess 这个模块。

import subprocess
import sys

if sys.platform == 'darwin':
    def openFolder(path):
        subprocess.check_call(['open', '--', path])
elif sys.platform == 'linux2':
    def openFolder(path):
        subprocess.check_call(['xdg-open', '--', path])
elif sys.platform == 'win32':
    def openFolder(path):
        subprocess.check_call(['explorer', path])
55

我很惊讶没有人提到可以使用 xdg-open 这个命令,它适用于 *nix 系统,可以打开文件和文件夹:

import os
import platform
import subprocess

def open_file(path):
    if platform.system() == "Windows":
        os.startfile(path)
    elif platform.system() == "Darwin":
        subprocess.Popen(["open", path])
    else:
        subprocess.Popen(["xdg-open", path])

撰写回答