Python: открытие папки в Explorer/Nautilus/Mac-thingie
Я нахожусь на Python, и у меня есть путь к определенной папке. Я хочу открыть его, используя проводник по умолчанию для этой системы. Например, если это компьютер под управлением Windows, я хочу использовать Explorer, если это Linux, я хочу использовать Nautilus или что-то там по умолчанию там, если оно Mac, я хочу использовать любой браузер Mac OS.
Как я могу это сделать?
Ответы
Ответ 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. Я предполагаю, что это будет работать на других платформах. Кто-нибудь может подтвердить? Только подтвержденные окна: (