Получить сопоставление файлов в Python - PullRequest
3 голосов
/ 04 апреля 2011

Я хочу получить программу, связанную с расширением, как в Linux, так и в Windows. Я знаю, что могу запустить xdg-open в Linux или запустить в Windows, но я собираюсь открыть файл мультимедиа на удаленном сервере, поэтому при использовании этого метода откроется веб-браузер, а не медиаплеер по умолчанию. Как я могу получить приложение по умолчанию для расширения?

Ответы [ 2 ]

1 голос
/ 17 декабря 2013

Окна только ниже:

Я думаю, что это будет близко к тому, что я только что прошел для .doc (связан с winword.exe).

На моих машинах ...

ШАГ 1. Посмотрите на раздел реестра: HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.doc


Вкл. Windows XP

ШАГ 2: Посмотрите на значение по умолчанию (игнорируйте все остальное). Значение по умолчанию, которое я вижу, Word.Document.8

ШАГ 3: Теперь используйте это и вставьте его (обратите внимание на имя ключа ниже), чтобы прочитать значение по умолчанию

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Word.Document.8\shell\Open\command

Это значение: "\" C: \ Program Files \ Microsoft Office XP Pro 2003 \ OFFICE11 \ WINWORD.EXE \ "/ n / dde"

И это путь к MS Word в моей системе, по крайней мере, в XP.

Также только что заметил, о предложениях Микеля выше, те, которые прибивают это на XP:

C:\>assoc .doc
.doc=Word.Document.8

C:\>ftype Word.Document.8
Word.Document.8="C:\Program Files\Microsoft Office XP Pro 2003\OFFICE11\WINWORD.EXE" /n /dde

Вкл Windows 7

По умолчанию из ШАГА 1 значение не установлено, черт возьми, пошла простота. Существует подраздел с именем «OpenWithProgIDs», поэтому я думаю, что вы будете искать его, если значение по умолчанию пустое или зависит от версии ОС.

ШАГ 2: Считайте подраздел с именем «OpenWithProgIDs». Есть предмет с именем Word.Document.8, поэтому мы вернемся к этому сейчас.

ШАГ 3: Снова подключите его, чтобы прочитать значение по умолчанию

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Word.Document.8\shell\Open\command

В этом случае (мое) значение более сложное:

"C: \ Program Files (x86) \ Common Files \ microsoft shared \ обработчик виртуализации \ cvh.exe" "Microsoft Word Starter 2010 9014006604090000" / n "% 1"

В правильном соседстве, насколько возможно использование реестра.

К сожалению, в Windows 7 «assoc» и «ftype» не помогли, по крайней мере, для .doc и пути к winword.exe на моем компьютере.

1 голос
/ 04 апреля 2011

Существует программа с именем xdg-mime , которая похожа на xdg-open, но печатает информацию, а не пытается открыть файл.

xdg-mime query filetype /tmp/foobar.png

Печатает MIME-типfile /tmp/foobar.png, в этом случае image / png

xdg-mime query default image/png

Печатает имя файла .desktop приложения, которое зарегистрировано для открытия файлов PNG.

В Windows, если выне могу найти API, возможно, вы можете использовать assoc или ftype, которые являются частью cmd.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...