Python - Abrir una carpeta del escritorio

 
Vista:
Imágen de perfil de Fernando
Val: 34
Ha disminuido su posición en 4 puestos en Python (en relación al último mes)
Gráfica de Python

Abrir una carpeta del escritorio

Publicado por Fernando (14 intervenciones) el 10/10/2019 22:44:29
Hola llevo relativamente poco en esto de la programación, me he visto ya unos cuantos vídeos de sintaxis, condicionales, bucles...
El caso es que he intentado hacer algo especifico que no venía en los tutoriales, he buscado por internet y al final lo he dado por imposible.
¿Sabéis como crear un programa que abra una archivo ubicado en el escritorio?
Cuando digo archivo me refiero a una carpeta, documento de texto, programa.exe, enlace web...lo que sea
Yo uso actualmente python en visualstudio, pero si fuera en otro lenguaje lo agradecería igualmente.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Abrir una carpeta del escritorio

Publicado por Joel (901 intervenciones) el 11/10/2019 08:15:20
Hola Fernando, no entiendo muy bien que quieres hacer... te refieres a que busque todos los archivos que se encuentran en el escritorio, y si por ejemplo es una carpeta, te abra el explorador de archivos, si es un exe te lo ejecute, si es un enlace te abra el navegador, etc?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Fernando
Val: 34
Ha disminuido su posición en 4 puestos en Python (en relación al último mes)
Gráfica de Python

Abrir una carpeta del escritorio

Publicado por Fernando (14 intervenciones) el 11/10/2019 18:38:26
Hola Joel, gracias por responder. Perdóname pero es que me explico fatal xD.
Mi objetivo final era la automatización de procesos repetitivos. Es decir, crear un "bot" que pudiera hacer una tarea concreta que fuera siempre la misma.
Ejemplo: Nada mas encender el pc quiero que con un solo click me abra todas las aplicaciones que yo uso diariamente, no tengo que ir seleccionándolas una por una. Es decir, ejecutar un programa que me abre chrome con mi canal de youtube favorito, la web de noticias que siempre visito, y mi videojuego favorito.
Este es solamente un ejemplo, me gustaría poder automatizar cualquier cosa y el primer paso me parecía que era el poder crear un programa que me abriera por sí solo un único archivo, el que fuera. Que me abriera chrome o me ejecutara el .exe de un videojuego, lo que fuera.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Abrir una carpeta del escritorio

Publicado por joel (901 intervenciones) el 11/10/2019 19:50:48
Ah, entiendo.... para ello, puedes utilizar popen... algo así:

1
2
3
4
import subprocess
 
args=["/usr/bin/chromium", "https://www.lawebdelprogramador.com"]
p1 = subprocess.Popen(args, stdout=subprocess.PIPE)

Este código es ejecutado sobre Linux... no se que sistema operativo estas utilizando...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Fernando
Val: 34
Ha disminuido su posición en 4 puestos en Python (en relación al último mes)
Gráfica de Python

Abrir una carpeta del escritorio

Publicado por Fernando (14 intervenciones) el 12/10/2019 13:07:18
Uso Windows 10 home, funciona esto en windows?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Abrir una carpeta del escritorio

Publicado por joel (901 intervenciones) el 13/10/2019 11:39:50
yo creo que si que funciona, lo que tendras que poner la ruta correcta del ejecutable de chrome... me imagino que algo así:

1
args=["c:/archivos de programa/chrom/chrome.exe", "https://www.lawebdelprogramador.com"]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Fernando
Val: 34
Ha disminuido su posición en 4 puestos en Python (en relación al último mes)
Gráfica de Python

Abrir una carpeta del escritorio

Publicado por Fernando (14 intervenciones) el 14/10/2019 22:38:34
La verdad no sabia muy bien donde introducir el comando, he probado en cmd y en Visual Studio(VS).
Te pongo una captura de pantalla de lo que he probado en VS.
https://gyazo.com/3d70eae81938f2a7bb567b5ca7eb5f3c
¿Hay alguna manera de abrir una carpeta del escritorio desde VS?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 37
Ha disminuido su posición en 3 puestos en Python (en relación al último mes)
Gráfica de Python

Abrir una carpeta del escritorio

Publicado por Thanatos (9 intervenciones) el 15/10/2019 02:53:41
No copiaste todo el código del ejemplo que publicó Joel. Te faltó importar el módulo subprocess y escribir la última línea de código que es la que inicia el proceso del navegador. Además usaste slashes invertidos ( \ ), en lugar de los slashes normales ( / ) en la ruta de la carpeta.

El código debería verse parecido a este:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# -*- coding: utf-8 *-
 
import subprocess
 
# Abre el archivo 'hosts' con Notepad.
NOTEPAD = ["C:/WINDOWS/system32/notepad.exe", "C:/Windows/System32/drivers/etc/hosts"]
PROCESO_1 = subprocess.Popen(NOTEPAD, stdout=subprocess.PIPE)
 
# Abre dos páginas web en Google Chrome.
CHROME = [
    "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe",
    "https://www.google.com",
    "https://www.lawebdelprogramador.com"
]
PROCESO_2 = subprocess.Popen(CHROME, stdout=subprocess.PIPE)


Si quieres abrir una carpeta podrías hacerlo así:

1
2
3
4
5
6
7
# -*- coding: utf-8 *-
 
import webbrowser, os
 
# Abre una carpeta del escritorio en el explorador.
RUTA_CARPETA = "C:/Users/hmh19/Desktop/Nueva"
webbrowser.open(os.path.realpath(RUTA_CARPETA))


También se puede abrir una carpeta usando sólo el módulo os:

1
2
3
4
5
6
7
# -*- coding: utf-8 *-
 
import os
 
# Abre una carpeta del escritorio en el explorador.
RUTA_CARPETA = "C:/Users/hmh19/Desktop/Nueva"
os.system(f'start {os.path.realpath(RUTA_CARPETA)}')
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Abrir una carpeta del escritorio

Publicado por joel (901 intervenciones) el 15/10/2019 11:04:31
Muy bueno!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Fernando
Val: 34
Ha disminuido su posición en 4 puestos en Python (en relación al último mes)
Gráfica de Python

Abrir una carpeta del escritorio

Publicado por Fernando (14 intervenciones) el 16/10/2019 01:37:50
Siiiii me ha funcionado! :D, muchísimas gracias.
Ya se que para vosotros esto es algo trivial, pero la verdad que me ha dado un subidón el ver como se abría sola xD.
¿Cómo hago para profundizar en esto de la automatización? Me gustaría poder programar bots que hicieran funciones más complejas como entrar en una web un descargar un archivo o que pudiera jugar a juegos sencillitos como las damas o el parchis y algún día quien sabe, incluso se le podría añadir una ia.
Hay juegos del tipo Geometry Dash que siempre he pensado que sería más fácil jugarlos usando programación que jugando manualmente.

¿Dónde puedo encontrar guías/tutoriales/vídeo tutoriales/cursos sobre este tema en concreto?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 37
Ha disminuido su posición en 3 puestos en Python (en relación al último mes)
Gráfica de Python

Abrir una carpeta del escritorio

Publicado por Thanatos (9 intervenciones) el 16/10/2019 09:58:40
Un libro que te puede servir es Automate de Boring Stuff with Python, aunque está en inglés, no es difícil de entender. Está pensado para personas que no tienen experiencia con Python, por eso la primera parte explica temas como listas, funciones, manipulación de cadenas, etc. La segunda parte continúa con otros temas de Python, usando ejemplos de automatización de tareas.

La primera edición es del año 2015, acabo de enterarme que Al Sweigart publicará la segunda edición dentro de unos días, el 29 de octubre.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Fernando
Val: 34
Ha disminuido su posición en 4 puestos en Python (en relación al último mes)
Gráfica de Python

Abrir una carpeta del escritorio

Publicado por Fernando (14 intervenciones) el 16/10/2019 23:40:30
Este libro es oro puro!
Mi próxima pregunta iba a ir relacionada con si se podía escribir un programa para manejar el ratón, pero acabo de ver que si xD, en el ultimo capítulo lo explica. Llámame impaciente, pero voy a empezar el libro por ahí, a ver si puedo escribir un programa que complete el primer nivel del Geometry Dash o algo por el estilo. Ya os iré contando, gracias por todo ;)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Fernando
Val: 34
Ha disminuido su posición en 4 puestos en Python (en relación al último mes)
Gráfica de Python

Abrir una carpeta del escritorio

Publicado por Fernando (14 intervenciones) el 17/10/2019 08:14:45
Ok, pues he tenido 2 principales problemas que por ahora no se como solucionar.
El primero es que he escrito un programa para abrir el GeometryDash usando como plantilla el código que me pusisteis vosotros, la cosa es que si se me abre, pero inmediatamente se me cierra y no se porque o_O. La cosa es que para abrir el wow por ejemplo si que me lo abre correctamente. Os dejo lo que he escrito:

1
2
3
4
5
import webbrowser, os
 
# Abre GEOMETRY DASH.
RUTA_CARPETA = "C:/Users/hmh19/Desktop/Geometry Dash/Geometrydash.exe"
webbrowser.open(os.path.realpath(RUTA_CARPETA))

Este problema lo he solventado provisionalmente programando el ratón para que le haga doble click al Geometrydash. Lo cual he flipado al ver que se movía el ratón solo, super chulo! :D.

El segundo problema es que al programar los tiempos en los que el ratón debe hacer click para mover al personaje y que salte esquivando los obstáculos no es siempre el mismo. Yo le pongo un intervalo de tiempo para hacer click saltando el primer obstáculo, las primeras veces lo salta, pero cuando he ejecutado el programa varias veces salta a destiempo, se choca y muere, por lo que no puede continuar.
¿No se supone que debería saltar siempre en el tiempo que le marco en el programa? Es decir, ¿para que le escribo yo que salte a los dos segundos, si luego decide el propio programa cuando saltar?

Ahí os dejo el programa:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import pyautogui
# Click en la barra de tareas para maximizar la ventana del juego
pyautogui.click(616, 1064)
 
# Click Start
pyautogui.click(960, 540,duration=1)
 
# Seleccionar nivel
pyautogui.click(960, 300,duration=1)
 
# Clicks de movimiento del jugador
pyautogui.click(960, 540,duration=2.2)
pyautogui.click(960, 540,duration=1)
pyautogui.click(960, 540,duration=1)
# No respeta los tiempos D:
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Abrir una carpeta del escritorio

Publicado por joel (901 intervenciones) el 15/10/2019 11:04:21
Te has dejado parte del código que te puse en el primer mensaje...
Mira el mensaje de Thanatos...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar