什么是Python 3的“python -m SimpleHTTPServer”
什么是python -m SimpleHTTPServer
的Python 3等价物?
从文档 :
SimpleHTTPServer
模块已经被合并到Python 3.0中的http.server
中。 2to3工具将自动适应导入时转换您的来源3.0。
所以,你的命令是python3 -m http.server
。
相当于:
python3 -m http.server
使用2to3实用程序。
$ cat try.py import SimpleHTTPServer $ 2to3 try.py RefactoringTool: Skipping implicit fixer: buffer RefactoringTool: Skipping implicit fixer: idioms RefactoringTool: Skipping implicit fixer: set_literal RefactoringTool: Skipping implicit fixer: ws_comma RefactoringTool: Refactored try.py --- try.py (original) +++ try.py (refactored) @@ -1 +1 @@ -import SimpleHTTPServer +import http.server RefactoringTool: Files that need to be modified: RefactoringTool: try.py
如果你必须使用不同的端口使用:
python -m http.server 8080
除了Petr的回答,如果你想绑定到一个特定的接口,而不是所有的接口,你可以使用-b / – bind标志。
python -m http.server 8000 --bind 127.0.0.1
上面的片段应该做的伎俩。 8000是端口号。 80被用作HTTP通信的标准端口。
在我的一个项目中,我对Python 2和3运行testing。为此,我编写了一个独立启动本地服务器的小脚本:
$ python -m $(python -c 'import sys; print("http.server" if sys.version_info[:2] > (2,7) else "SimpleHTTPServer")') Serving HTTP on 0.0.0.0 port 8000 ...
作为别名:
$ alias serve="python -m $(python -c 'import sys; print("http.server" if sys.version_info[:2] > (2,7) else "SimpleHTTPServer")')" $ serve Serving HTTP on 0.0.0.0 port 8000 ...
请注意,我通过conda环境控制我的Python版本,因为我可以使用python
而不是python3
来使用Python 3。
如果你必须select哪个dir是网站的根目录,例如./dist和port 9000:那么使用:
为v3
pushd ./dist; python -m http.server 9000; popd
为2. *
pushd ./dist; python -m SimpleHTTPServer 9000; popd
python -m SimpleHTTPServer
命令适用于Linux。 对Windows使用命令python -m http.server 7777