Python在代码中启动HTTP服务器(创建.py启动HTTP服务器)

duc*_*uus 3 python http

目前我和许多其他人在几个平台上使用Python HTTP服务器(Windows,OS X和可能的Linux).我们使用Python HTTP服务器来测试JavaScript游戏.

现在我们通过每个平台(CMD,终端等)上的命令行启动Python HTTP服务器.虽然这很好用,但使用这种方法变得很麻烦,拥有一个启动Python HTTP服务器的简单脚本会很不错.

该脚本需要在所有平台上运行,因为所有平台都将安装Python,因此在Python中编写脚本是有意义的.

目前我们使用以下命令启动服务器:

在python 3上

python -m http.server
Run Code Online (Sandbox Code Playgroud)

在python 2上

python -m SimpleHTTPServer
Run Code Online (Sandbox Code Playgroud)

我如何将其中一行放入Python代码中,我可以保存为.py,只需双击即可启动HTTP服务器?

Tri*_*yen 7

接受的答案对我不起作用。如果它也不适合你,请试试这个。

from http.server import HTTPServer, SimpleHTTPRequestHandler

httpd = HTTPServer(('localhost', 8000), SimpleHTTPRequestHandler)
httpd.serve_forever()
Run Code Online (Sandbox Code Playgroud)


Mar*_*ers 6

以下脚本对Python 2或3执行相同的操作:

try:
    # Python 2
    from SimpleHTTPServer import test, SimpleHTTPRequestHandler
except ImportError:
    # Python 3
    from http.server import test, SimpleHTTPRequestHandler

test(SimpleHTTPRequestHandler)
Run Code Online (Sandbox Code Playgroud)

这将运行与从交换机的命令行运行模块时使用的完全相同的可调用-m.

Python 3版本包括命令行支持,以确定要绑定到哪个接口和端口,但您的命令行无论如何都不会使用它.