专栏名称: Python之禅
分享Python相关技术干货,偶尔扯扯其它的
目录
相关文章推荐
Python爱好者社区  ·  国企官网被挂上“码农的钱你也敢吞,还钱” ·  昨天  
Python中文社区  ·  揭秘 DeepSeek ... ·  昨天  
Python开发者  ·  DeepSeek 下棋靠忽悠赢了 ... ·  3 天前  
Python爱好者社区  ·  python接私活,yyds ·  2 天前  
Python爱好者社区  ·  DeepSeek 最新中国大学排名 ·  2 天前  
51好读  ›  专栏  ›  Python之禅

Python小技巧:使用一行命令把你的电脑变成服务器

Python之禅  · 公众号  · Python  · 2019-12-25 11:35

正文

不知道你有没有遇到这么一种情况,就是你有时候想要把电脑上的一些东西传输到你的手机或者 Pad ,你要么需要使用数据线连接到电脑,有时候还要装各种驱动才可以进行数据传输,要么需要借助第三方的工具,在局域网上传输,还有就是使用微信的文件传输助手...


不过这些操作都有些局限,比如各种驱动安装不上,第三方的工具突然傻逼,又或者突然断网,这就 wtf 了。


不过,咱这不有 Python 嘛,今天小帅b来跟你分享一个技巧,使用一个命令就可以把你的电脑变成服务器,这样你的手机就可以直接获取你电脑的文件了。

这个命令就是:

python3 -m http.server



当你执行完这个命令的时候,你的电脑会监听 8000 端口,只要访问这个端口(手机和电脑需要在同一局域网下),你的手机就可以获取到你这个电脑的所有文件:


如果你想使用手机或者其它设备来访问你的电脑文件,可以先看看你这台电脑的 IP 地址:


然后在手机上使用 “IP : 端口” 就可以访问了:


访问电脑里的图片:




随便选一张:



也可以直接查看电脑里的 PDF 文件:



当然,也可以直接访问电脑里的网页:



对于大点的文件,也可以直接下载下来:




然后就可以在手机本地离线地慢慢欣赏了:



Python 内置的这个库牛逼吧?


当然,你不想监听 8000 端口也可以换成别的,比如:


python3 -m http.server 8900 --bind 127.0.0.1


Python2命令是这样:


python -m SimpleHTTPServer 8900





不过,它只能下载不能上传, 俺的帅照没办法传到电脑去, 那可怎么行?

我们已经知道这是 Python 的内置的 http.server ,那么可以继承它,扩展点功能出来,也就是把我们想要的上传功能也给加上去。

我们知道,从电脑获取文件的操作是 GET, 从手机端上传文件上去是 POST 操作,所以我们可以去重写这些方法,刚好小帅b在网上看到有人继承了这个模块扩展了这个功能:



运行起来:


通过手机可以访问到:


选择文件:





成功上传文件:









请到「今天看啥」查看全文