Py学习  »  Python

一行Python命令,把你的电脑变成服务器

Crossin的编程教室 • 3 年前 • 321 次点击  

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


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

这个命令就是:
python3 -m http.server


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


如果你想使用手机或者其它设备来访问你的电脑文件,可以先看看你这台电脑的 IP 地址:
Windows的命令是:ipconfig
Linux和Mac的命令是:ifconfig


然后在手机的浏览器地址栏访问 
IP:端口 
就可以了:


访问电脑里的图片,可以直接点击链接打开:



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


当然,还可以直接打开电脑里的网页:


对于大点的文件,比如视频,可选择下载:


怎么样,Python 内置的这个库厉害吧?



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

python3 -m http.server 8900 --bind 127.0.0.1


Python2 的命令是这样:

python -m SimpleHTTPServer 8900



不过,它只能下载不能上传,这可不行。

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

事实上,早已有网上的好心人实现了这个功能:


运行后通过手机访问的效果:



多出了一个选择上传的控件。可以选择文件上传:





成功!

电脑端接收成功提示:


OK,以上就是今天给大家分享的小技巧,使用它可以抛掉各种第三方工具和驱动,自己爱咋传咋传。各位学会了吗?

扩展上传功能的代码:
https://github.com/Tallguy297/SimpleHTTPServerWithUpload

作者:小帅b

来源:学习python的正确姿势





Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/62387
 
321 次点击