你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

一行Python命令让电脑变成服务器

[复制链接]
gaosmile 发布时间:2020-9-15 20:24
不知道你有没有遇到这么一种情况,就是你有时候想要把电脑上的一些东西传输到你的手机或者 Pad ,你要么需要使用数据线连接到电脑,有时候还要装各种驱动才可以进行数据传输,要么需要借助第三方的工具,在局域网上传输,还有就是使用微信的文件传输助手...这些操作都略显麻烦,有时候还会因为各种状况而连不上。0 t& s- O0 {: J5 t; V/ ]/ c

  p7 F$ W- f& x) K3 Z0 E- S
不过,咱这不有 Python 嘛,今天来分享一个技巧,使用一个命令就可以把你的电脑变成服务器,这样你的手机就可以直接获取你电脑的文件了。0 |# \9 a' S5 U/ j- n) n2 B1 a4 u
; ?  J( X- v0 W. s( \. [! [3 z
这个命令就是:

  • * B8 b6 Y( B# w! W- H0 [, A
python3 -m http.server: Q$ ]5 f: Q# N( Y( W6 w
微信图片_20200915122145.png

' w( k$ i9 E; X! C) o
当你执行完这个命令的时候,你的电脑会监听 8000 端口,只要访问这个端口(手机和电脑需要在同一局域网下),你的手机就可以获取到你这个电脑的所有文件:
9 P0 O; y: ^% q. K* f2 B) ]  _
微信图片_20200915122147.png

5 j4 }6 N4 }9 r
如果你想使用手机或者其它设备来访问你的电脑文件,可以先看看你这台电脑的 IP 地址:Windows的命令是:ipconfigLinux和Mac的命令是:ifconfig
% J# _8 t' a# w- s) P2 B
微信图片_20200915122151.jpg

% @3 }5 Y. Q8 M$ b! P3 h7 K8 ]" O; v
然后在手机的浏览器地址栏访问IP:端口 就可以了:
+ T2 K2 r9 g" L: {$ J
微信图片_20200915122154.jpg

0 [5 l/ ~0 y9 E8 I$ I6 ~- b
访问电脑里的图片,可以直接点击链接打开:
0 r& H$ g! O1 o9 Z' t
微信图片_20200915122157.jpg
* ]5 M9 d# [! R7 `( O/ _& I  Y
也可以直接查看电脑里的 PDF 文件:/ a- b0 N, j8 q3 X' [1 K9 s
微信图片_20200915122200.jpg
! k0 }9 t1 U& a) w  Y
当然,还可以直接打开电脑里的网页:
' K3 h$ ^0 C% c9 v7 E1 `# i) Y
微信图片_20200915122203.jpg
# U6 G  W. i# r0 W- p2 z, ]( I4 R
对于大点的文件,比如视频,可选择下载:' X. h, C+ h+ Y" N/ ]4 I
/ @* b$ j$ Z) {2 w, G$ U0 P+ E
微信图片_20200915122206.jpg

  s( ^& T+ Z, ]
怎么样,Python 内置的这个库厉害吧?

9 c" ~" L* Y% Z6 x& @9 u5 D1 W
当然,你不想监听 8000 端口也可以换成别的,比如:
  • 2 }- P$ M- x7 \8 l- N" p* F( _
python3 -m http.server 8900 --bind 127.0.0.1

7 x% y, w& d7 q3 a  r* o7 [$ Q
Python2 的命令是这样:
& P. m. [1 ?5 i. q
  • # L, D4 u# P' ^/ R' [
python -m SimpleHTTPServer 8900
, q0 n6 j4 b6 k% i  ?6 W5 U$ v

$ y) o: U, ]4 y8 l: H# H: G4 V

% H4 u9 R# B; k: g$ Q
不过,它只能下载不能上传,这可不行。
- }% G, W  H  c4 {
我们已经知道这是 Python 的内置的 http.server ,那么可以继承它,扩展点功能出来,也就是把我们想要的上传功能也给加上去。
8 u3 z0 P* l$ X. i6 i
事实上,早已有网上的好心人实现了这个功能:0 X6 g6 }8 h) h
微信图片_20200915202137.jpg
& \+ q  J+ g" w6 |
运行后通过手机访问的效果:
3 M; i" j: Z( g
微信图片_20200915202141.png
3 ?" m5 p9 ~+ R5 L# l
微信图片_20200915202145.jpg
( |1 c/ L& d  c" ~; \
多出了一个选择上传的控件。可以选择文件上传:
/ R. I: C6 F+ T5 @
微信图片_20200915202149.jpg
  Q4 v7 X3 @0 m$ f! N) ?" ?
微信图片_20200915202152.jpg

3 E  }2 ~- G& _7 Q
微信图片_20200915202155.jpg 1 m3 }& _7 y6 a$ `# q, s5 m, Z
成功!, a3 J5 T8 }( ^9 t  T! d4 e$ u
电脑端接收成功提示:+ [7 i0 d# {  z& m
微信图片_20200915202158.png

& Q* r6 o7 p/ [$ V
OK,以上就是今天给大家分享的小技巧,使用它可以抛掉各种第三方工具和驱动,自己爱咋传咋传。各位学会了吗?
: n' [0 o# @5 M
扩展上传功能的代码:http://github.com/Tallguy297/SimpleHTTPServerWithUpload
; O+ w. `9 @; ]+ x4 P. Y
赞 收藏 评论0 发布时间:2020-9-15 20:24

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版