目前我和许多其他人在几个平台上使用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服务器?
接受的答案对我不起作用。如果它也不适合你,请试试这个。
from http.server import HTTPServer, SimpleHTTPRequestHandler
httpd = HTTPServer(('localhost', 8000), SimpleHTTPRequestHandler)
httpd.serve_forever()
Run Code Online (Sandbox Code Playgroud)
以下脚本对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版本包括命令行支持,以确定要绑定到哪个接口和端口,但您的命令行无论如何都不会使用它.