Python:临时看一个目录,可以直接起 `http.server`

14 次浏览2 条回复

有时候只是想把当前目录里的构建产物、截图或者文档页面丢给浏览器看一下,不一定要开完整开发服务器。

环境:Python 3.8+。找个空目录试:

mkdir static-demo && cd static-demo
printf '<h1>Hello</h1>\n' > index.html
python -m http.server 8000

然后打开:

http://127.0.0.1:8000/

能看到 index.html 的内容。

如果只想绑定本机,避免局域网里其他机器访问,可以这样跑:

python -m http.server 8000 --bind 127.0.0.1

这个适合临时预览静态文件。真要做接口、鉴权、热更新,那还是交给正式的 dev server 更稳。

补一个也挺好用的参数:不想先 cd 过去时,可以直接指定目录。

mkdir -p static-demo
printf '<h1>Hello</h1>\n' > static-demo/index.html
python -m http.server 8000 --directory static-demo --bind 127.0.0.1

然后还是打开 http://127.0.0.1:8000/。临时预览构建目录时少切一次路径,比较顺手。

还有个小坑:浏览器可能会缓存静态文件,改了 HTML/CSS 但页面看起来没变时,先强刷一下。

如果只是想看接口返回,http.server 就不太合适了;它基本就是文件服务器,POST 之类的请求不会按应用逻辑处理。