python一行实现局域网内传输文件
熟悉python的大家伙,对于这个应该不陌生,这个功能我一直都在使用,今天想记录一下其实时想抛砖引玉。
缘由
记得那是刚开始学习python,对任何精简而强大的功能都感到好奇。从任何平台,只要看到关于python的文章,就会点进去进行深度阅读。久而久之,的确学习到了一些小技巧,或言之投机取巧吧。比如,这个用python来实现局域网内文件传输,就是在用了坚果pro之后的想法。
因为使用了坚果pro,我知道了 handshaker
这个软件,这个软件的功能就是,电脑和手机在同一个局域网的时候,都打开软件,可以进行无线连接,向电脑或者手机传输文件。
这不就很方便嘛,以前还老是拿数据线传输,还真别说,获得了本人的青睐。(((φ(◎ロ◎;)φ))),一定有人说了,那无线速度会不会慢啊。实际使用中发现,无线其实受很多因素影响,速度是会受到影响的。但是那并不是技术的原因,无线带来的不用插拔线头的便捷性,是非常优越的,速度受影响,只是因为环境不好。
话不多说,直接开干
这个功能从 python2
一直就有了,我现在就直接从 python3
开始喽,打开 cmd
输入:
python -m http.server 80
完活,解释如下:
- python 使用这个的前提是电脑已经安装
python3
以上版本,并成功加入环境变量; - 然后就输入上面一整行代码,
enter
就行;
这个时候其实服务器已经创建了,命令窗口会有如下提示:
Microsoft Windows [版本 10.0.17763.1]
(c) 2018 Microsoft Corporation。保留所有权利。
C:\Users\Administrator>python -m http.server 80
Serving HTTP on 0.0.0.0 port 80 (http://0.0.0.0:80/) ...
_
该提示表示已经开启服务器,端口号:80
紧接着怎么使用呢,打开浏览器,在浏览器中输入你的 IP地址
+ :
+端口号
,回车 可以了,如:
192.168.1.31:80
此时如果正常,你的浏览器就应该可以显示出如下画面了:
这个就是运行命令行的当前目录,所以问题来了,如果你想要传输某一个文件,就必须在该文件对应的目录下执行这段代码,而且也很有可能不知道自己电脑的IP地址啊,为了方便,我可以使用如下方法:
- 在需要传输的文件同目录下,鼠标点击右键 在此处打开
cmd
或 在此处打开powershell
,之后执行如上命令; - 新建文本,文本内输入内容:
@echo off
ipconfig /all
python -m http.server 80
保存文本,修改名称为自己想要的名字,后缀设为 .bat
使用如上方式,就可以在一个会定期更换IP地址的场景下使用了,而且只要双击即可。我在电脑的某个磁盘的文件夹下使用,该文件夹就一直存放需要传输的文件,现在工作了,同事之间传送点比较大的文件,还是相当方便的。几个G的资料,每秒能跑50mBps,感觉比硬盘都快,屡试不爽。
后来
这样使用还是有很多需要注意的地方:
- 如果在浏览器输入的时候,不输入 :80 即端口号,也是可以的;
- 下载的时候,必须下载文件,建议先压缩,在借助浏览器下载;
- 如果手机端使用浏览器支持,可以在线播放mp4等文件,而且可以随意拖动进度条;
- ipad上的safari浏览器体验不佳;
以上的已经能满足我平日里的需求了,所以也没有再继续研究过,我其实不关系这个东西的原理,我只关心它好用就行,直到前些天,我遇到了另外一个常用的软件也同步有此功能,这就是我想要引出来的玉everything开启服务器功能。
After
Drafter : LJacki
Date : 2019-04-07