python - 如何设置浏览器为 webbrowser 打开 localhost?

下面是我的代码:

execfile("main.py");
    url = "localhost:9988";
    webbrowser.open_new_tab(url);

“main.py”将启动本地主机,但是当我运行脚本时,它不会转到 webbrowser.open_new_tab(url),因为它卡在本地主机中。

有没有办法启动 localhost,然后在选定的浏览器(即 chrome/firefox)中打开一个新选项卡到 localhost?

最佳答案

使用 Popen 执行以下操作。它应该工作。您必须将 python -m SimpleHTTPServer 8000 替换为您自己的可执行文件。

代码:

import subprocess
import webbrowser
subprocess.Popen(['python', '-m', 'SimpleHTTPServer', '8000'])
webbrowser.open_new_tab('localhost:8000')

执行:

[12:21:49] babil@quad:[/tmp]$ python
Python 2.7.2+ (default, Oct  4 2011, 20:06:09) 
[GCC 4.6.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 
>>> import subprocess
>>> import webbrowser
>>> 
>>> subprocess.Popen(['python', '-m', 'SimpleHTTPServer', '8000'])
<subprocess.Popen object at 0x7f09924df210>
>>> Serving HTTP on 0.0.0.0 port 8000 ...

>>> webbrowser.open_new_tab('localhost:8000')
True
>>> localhost.localdomain - - [20/Mar/2012 12:22:29] "GET / HTTP/1.1" 200 -
Created new window in existing browser session.
localhost.localdomain - - [20/Mar/2012 12:22:29] code 404, message File not found
localhost.localdomain - - [20/Mar/2012 12:22:29] "GET /favicon.ico HTTP/1.1" 404 -

>>> 

https://stackoverflow.com/questions/9780046/

相关文章:

oracle - 如何以编程方式在 PL/SQL 中设置表名?

asp.net - 如何检查 Amazon S3 存储桶中文件夹的子文件夹大小

optimization - 为什么在没有 mem2reg 的情况下优化过程不起作用?

ruby-on-rails - 在 Rails 迁移中排序的模式字段

php - DOMPDF 安装选项

matlab - 不同长度的向量之间的相关性

django - 如何为基于ListView的类写get方法

optimization - 更好的初始猜测可能对优化收敛更差

ruby-on-rails - 创建 Rails 音乐播放器应用程序(类似于 Rdio)

ajax - JSF f :ajax listener not called