2009-11-25 3 views
2

Я пишу скрипт python, который генерирует html-файл. Каждый раз, когда я запускаю этот скрипт, я хотел бы в конце открыть системный браузер по умолчанию для этого файла. Это все в среде OS X.Запуск приложения по умолчанию для данного типа файла, OS X

Какой код python может запускать Safari/Firefox/независимо от того, является ли html-просмотрщик системы по умолчанию и открыт данный файл? subprocess.call похоже не подходит к игре.

ответ

3

Что питон код может запустить Safari/Firefox/все, что зритель HTML система по умолчанию и открытым данный файл?

Существует webbrowser модуль питона, попробуйте следующее:

import webbrowser 
webbrowser.open('file://%s' % path) 

Это позволит открыть новую вкладку в браузере по умолчанию. Есть способы открыть новую вкладку, новое окно и другие параметры.

+0

Мне очень нравится этот модуль. – jathanism

+0

Да, используйте модуль webbrowser. Обратите внимание, что он фактически функционирует так же, как «open» в osx, который просто открывает приложение по умолчанию, независимо от того, является ли он веб-браузером или нет. Поэтому webbrowser.open ('my.pdf'), вероятно, открывает ваш PDF-ридер, а не веб-браузер. Действительно роскошный отличный модуль! –

+0

Спасибо! Работает как шарм. – Marcin

1

Знаете ли вы о команде open в Mac OS X? Я думаю, вы можете решить свою проблему, вызвав ее из Python.

man open Подробности:

Открытая команда открывает файл (или каталог или URL), так же, как если бы вы имели двойной щелчок на значке файла. Если имя приложения не указано, приложение по умолчанию, определяемое с помощью LaunchServices, используется для открытия указанных файлов.

+0

Просто используйте "импорт WebBrowser" и "webbrowser.open()", на OSX так ли делает то же самое, что и команда open из самого OSX. Поэтому открытие pdf-файла откроет его в предварительном просмотре, а не в вашем браузере (несмотря на имя модуля). –

0

импорт IC

ic.launchurl ('Файл: ///somefile.html')

Смежные вопросы