Открыть проводник по файлу - PullRequest
53 голосов
/ 11 ноября 2008

Как в Python перейти к файлу в проводнике Windows? Я нашел решение для перехода к папкам:

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

но у меня нет решения для файлов.

Ответы [ 5 ]

64 голосов
/ 11 ноября 2008

Из Джеффа Чаппелла Командная строка Проводника Windows

import subprocess
subprocess.Popen(r'explorer /select,"C:\path\of\folder\file"')
6 голосов
/ 02 декабря 2014

Почему-то на windows 7 всегда открывается пользовательский путь, для меня выработано следующее:

import subprocess
subprocess.call("explorer C:\\temp\\yourpath", shell=True)
4 голосов
/ 07 марта 2018

Более хорошее и безопасное решение (к сожалению, только в Windows): os.startfile () .

Когда ему дается папка, а не файл, он открывает Explorer.

Мне известно, что я не полностью отвечаю на вопрос, поскольку он не выбирает файл, но использование subprocess всегда является плохой идеей, и это решение может помочь другим людям.

2 голосов
/ 21 июня 2018

Поскольку explorer может быть переопределено, было бы немного безопаснее указать непосредственно на исполняемый файл. (просто должен был быть обучен на этом тоже)

И пока вы это делаете: используйте текущий API-интерфейс Python 3s: run()

import os
import subprocess
FILEBROWSER_PATH = os.path.join(os.getenv('WINDIR'), 'explorer.exe')

def explore(path):
    # explorer would choke on forward slashes
    path = os.path.normpath(path)

    if os.path.isdir(path):
        subprocess.run([FILEBROWSER_PATH, path])
    elif os.path.isfile(path):
        subprocess.run([FILEBROWSER_PATH, '/select,', os.path.normpath(path)])
1 голос
/ 18 октября 2018

В качестве альтернативы, вы можете использовать модуль fileopenbox EasyGUI , чтобы открыть проводник, чтобы пользователь мог просмотреть его, а затем выбрать файл (возвращая полный путь к файлу).

import easygui
file = easygui.fileopenbox()
...