2008-11-11 19 views
41

En Python, ¿cómo puedo saltar a un archivo en el Explorador de Windows? Encontré una solución para saltar a las carpetas:Abrir el explorador en un archivo

import subprocess 
subprocess.Popen('explorer "C:\path\of\folder"') 

pero no tengo solución para los archivos.

Respuesta

46

De Explorer.exe Command-Line Options for Windows XP

import subprocess 
subprocess.Popen(r'explorer /select,"C:\path\of\folder\file"') 
+0

Gracias! He estado pirateando mi cerebro en este ... – adams

+0

Soy consciente de que esta es una publicación súper antigua pero vale la pena intentarlo. Tengo un módulo que conecta una biblioteca de documentos sharepoint a una ventana del Explorador de Windows para que una copia pasada localmente se cargue en la biblioteca de documentos de SharePoint. Esto ocasionalmente necesita ser actualizado y estoy usando selenio para reconectarme pero ahora tengo una ventana abierta de Windows Explorer. No tengo ni idea de cómo cerrar esa ventana para que la GUI de la aplicación vuelva a ser el foco para el usuario final. ¿Alguna idea de cómo seleccionar esa ventana y cerrarla? – Benjooster

+0

jaja, estaba leyendo la coma como un sumador de cadenas, era como si la WTF estuviera sucediendo. Es parte de la cadena. – shawn

5

Por alguna razón, en Windows 7 que siempre abre el camino a los usuarios, para mí lo siguiente funcionó:

import subprocess 
subprocess.call("explorer C:\\temp\\yourpath", shell=True) 
+0

'subprocess.Popen (r'explorer/select," C: \ path \ of \ folder \ file "')' funciona, pero ¿cómo puedo obtener esta ventana en la parte superior de otras ventanas, si el usuario va a otra ventana después de haber ejecutado esta declaración en algún lugar de su programa? – Nancy

+0

Esto debería aparecer automáticamente en la parte delantera – user1767754

0

Una solución OS más agradable, seguro y cruz es os.startfile() .

Cuando se le da una carpeta en lugar de un archivo, se abrirá Explorer, o el explorador de archivos en el sistema que sea.

Entiendo que no respondo completamente la pregunta ya que no selecciona un archivo, pero usar subprocess siempre es una especie de mala idea y esta solución puede ayudar a otras personas.

Cuestiones relacionadas