分享

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

 小帅b 2021-10-12
不知道你有没有遇到这么一种情况,就是你有时候想要把电脑上的一些东西传输到你的手机或者 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在网上看到有人继承了这个模块扩展了这个功能:




运行起来:




通过手机可以访问到:




选择文件:

成功上传文件:



电脑端接收文件:


ok,以上就是今天小帅b给你分享的小技巧,使用它可以抛掉各种第三方工具和驱动,自己爱咋传咋传。另外,我已经把扩展的上传 Python 代码放在公众号后台了,发送 “传输” 即可获取完整代码。

哦,对了,说个题外话,听说 SOHO 大佬潘总要开始学习 Python 了,谁认识他啊,叫他有空的时候关注下 “学习 Python 的正确姿势”。







潘总说得对,哈哈,那么,我们下回见,peace!


扫一扫

学习 Python 没烦恼



    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多