Я пытаюсь ознакомиться с Python с серьезной проблемой для веб-публикации, поэтому я осмотрелся и нашел следующий пример. Запуск 2,7 в PyScripter в Windows 7 не вызвал браузер, как я ожидал. Код появился в Notepad ++ вместо этого, по-видимому, поскольку суффикс html был связан с Notepad. Я пробовал около дюжины различных перестановок кода, но html-файл все еще открыт в «Блокноте», пока я не связал этот файл с Firefox. Когда я включаю команду print webbrowser._browsers, я получаю {'windows-default': [, None], 'c: \ program files (x86) \ internet explorer \ iexplore.exe': [Нет,]}Python webbrowser не открывается браузер
Это означало бы, что IE должен быть браузером по умолчанию, но, очевидно, это не так. Может ли кто-нибудь просветить меня здесь, так как я новичок Python?
'''A simple program to create an html file froma given string,
and call the default web browser to display the file.'''
contents = '''<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<title>Hello</title>
</head>
<body>
Hello, World!
</body>
</html>
'''
import webbrowser
def main():
browseLocal(contents)
def strToFile(text, filename):
"""Write a file with the given name and the given text."""
output = open(filename,"w")
output.write(text)
output.close()
def browseLocal(webpageText, filename='C:\\Python27\\Programs\\tempBrowseLocal.html'):
'''Start your webbrowser on a local file containing the text
with given filename.'''
strToFile(webpageText, filename)
print webbrowser._browsers
webbrowser.open(filename)
main()
Перемещение декларации имен файлов не работает. Если файл html связан с блокнотом, появляется блокнот, а не браузер по умолчанию – bobv
@Bobv, возможно, модуль webbrowser не открывает локальные файлы. Попробуйте выполнить sub process.popen(), как предлагается здесь http://stackoverflow.com/questions/15054434/how-can-i-open-files-in-external-programs-in-python – mcmxl
Спасибо, subprocess.Popen() похоже, работает. – bobv