Подтвердить что ты не робот

Python: открытие папки в Explorer/Nautilus/Mac-thingie

Я нахожусь на Python, и у меня есть путь к определенной папке. Я хочу открыть его, используя проводник по умолчанию для этой системы. Например, если это компьютер под управлением Windows, я хочу использовать Explorer, если это Linux, я хочу использовать Nautilus или что-то там по умолчанию там, если оно Mac, я хочу использовать любой браузер Mac OS.

Как я могу это сделать?

4b9b3361

Ответ 1

Я удивлен, что никто не упомянул использование 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])

Ответ 2

Вы можете использовать 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])

Ответ 3

На Macintosh работают следующие.

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

В GNU/Linux используйте абсолютный путь к папке. (Убедитесь, что папка существует)

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

Как указано в другом ответе, он также работает на Windows.

Ответ 4

Я думаю, вам, возможно, придется обнаружить операционную систему, а затем запустить соответствующий файл-проводник соответственно.

Это может быть полезно для OSX Finder: Python "show in finder"

(ниже работает только для окон)

import webbrowser as wb
wb.open('C:/path/to/folder')

Это работает в Windows. Я предполагаю, что это будет работать на других платформах. Кто-нибудь может подтвердить? Только подтвержденные окна: (