Supongo que la desición radica en cúan multiplataforma es la solución, como en el caso de Linux, si la solución se aplica a la mayoría de distros.
Solución 01
import os
import platform
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])
open_file(path)
Solución 02
import webbrowser webbrowser.open(path)Solución 03
import os
systems = {
'nt': os.startfile,
'posix': lambda foldername: os.system('xdg-open "%s"' % foldername),
'os2': lambda foldername: os.system('open "%s"' % foldername)
}
systems.get(os.name, os.startfile)(path)
Obviamente hay más soluciones, si tienen alguna compartanla.

No hay comentarios:
Publicar un comentario