今天给大家介绍一下Python标准库中的http.server模块。这个模块提供了一种简单的方式来快速启动一个HTTP服务器,非常适合临时共享文件、测试、教学等轻量级场景。
功能演示
以Windows系统为例,可以在cmd窗口进入到提供下载的文件夹目录或者在图形界面中的资源管理进入到对应目录,输入cmd 回车后,打开命令行窗口
在命令行启动http.server模块时,Python 2 和Python 3 的用法有一些区别,在Python 3中,SimpleHTTPServer 模块被合并到了 http.server 模块中:
# python2 python -m SimpleHTTPServer [port] # python3 python -m http.server [port]
这将在当前目录启动一个HTTP服务器,监听指定端口(默认8000端口)。
指定监听端口:
python -m SimpleHTTPServer 7800 # Python 2 python -m http.server 7800 # Python 3
指定http.server目录
如果你想设置HTTP服务器的根目录,可以使用--directory/-d
选项:
python -m http.server --directory /path/to/dir [port] # Python 3
上面的命令会将 /path/to/dir
设置为HTTP服务器的根目录。
小结
Python http.server 模块提供了一种快速创建 HTTP 服务器的简单方式,特别是可以非常方便地使用单行命令启动 HTTP 服务器,我使用最多的场景是办公网共享文件(尤其是大文件),不过记得添加相应防火墙策略或者关闭防火墙。
作者:轻松运维小猪