python一行实现局域网内传输文件

时间:2024-04-12 17:58:23

python一行实现局域网内传输文件

熟悉python的大家伙,对于这个应该不陌生,这个功能我一直都在使用,今天想记录一下其实时想抛砖引玉。

缘由

记得那是刚开始学习python,对任何精简而强大的功能都感到好奇。从任何平台,只要看到关于python的文章,就会点进去进行深度阅读。久而久之,的确学习到了一些小技巧,或言之投机取巧吧。比如,这个用python来实现局域网内文件传输,就是在用了坚果pro之后的想法。

因为使用了坚果pro,我知道了 handshaker 这个软件,这个软件的功能就是,电脑和手机在同一个局域网的时候,都打开软件,可以进行无线连接,向电脑或者手机传输文件。

这不就很方便嘛,以前还老是拿数据线传输,还真别说,获得了本人的青睐。(((φ(◎ロ◎;)φ))),一定有人说了,那无线速度会不会慢啊。实际使用中发现,无线其实受很多因素影响,速度是会受到影响的。但是那并不是技术的原因,无线带来的不用插拔线头的便捷性,是非常优越的,速度受影响,只是因为环境不好。

话不多说,直接开干

这个功能从 python2 一直就有了,我现在就直接从 python3 开始喽,打开 cmd 输入:

python -m http.server 80

完活,解释如下:

  1. python 使用这个的前提是电脑已经安装 python3 以上版本,并成功加入环境变量;
  2. 然后就输入上面一整行代码,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

此时如果正常,你的浏览器就应该可以显示出如下画面了:

python一行实现局域网内传输文件

这个就是运行命令行的当前目录,所以问题来了,如果你想要传输某一个文件,就必须在该文件对应的目录下执行这段代码,而且也很有可能不知道自己电脑的IP地址啊,为了方便,我可以使用如下方法:

  1. 在需要传输的文件同目录下,鼠标点击右键 在此处打开cmd 或 在此处打开 powershell ,之后执行如上命令;
  2. 新建文本,文本内输入内容:
@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