txt texto leer ficheros documentos desde crear como columnas archivo abrir python cross-platform folder

texto - Python: abrir una carpeta en Explorer/Nautilus/Mac-thingie



leer pdf en python (4)

Creo que es posible que tengas que detectar el sistema operativo y luego iniciar el explorador de archivos correspondiente.

Esto podría ser útil para el Finder de OSX: Python "show in finder"

(El siguiente solo funciona para Windows desafortunadamente)

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

Esto funciona en Windows. Supongo que funcionaría en otras plataformas. ¿Alguien puede confirmar? Ventanas confirmadas solamente :(

Estoy en Python, y tengo la ruta de una determinada carpeta. Quiero abrirlo usando el explorador de carpetas predeterminado para ese sistema. Por ejemplo, si se trata de una computadora con Windows, quiero usar Explorer, si es Linux, quiero usar Nautilus o lo que sea el predeterminado, si es Mac, quiero usar lo que se llame al explorador de Mac OS.

¿Cómo puedo hacer eso?


Lo siguiente funciona en Macintosh.

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

En GNU / Linux, use la ruta absoluta de la carpeta. (Asegúrese de que la carpeta exista)

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

Como se señala en la otra respuesta, también funciona en Windows.


Puedes usar un 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])


Me sorprende que nadie haya mencionado el uso de xdg-open para * nix, que funcionará tanto para archivos como para carpetas:

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])