无非就是A连B热点然后通过局域网的WLAN的WiFi信号或者蓝牙信号传输文件,其中,不考虑扫一扫功能和定位判断功能,A连B热点然后访问B指定的http站点即可读取指定文件(或者通过目录寻找到指定文件)。
事不宜迟,马上动工,但是且慢。
装了python的电脑上使用以下命令即可建立http服务器同网络下分享文件,什么module也不用装,不用pip也不用conda,(Linux主机上没有装网线/无线网卡,只能展示手机上的QPython),当然手机设备也可以(手机上的python平台以QPython为例)(黑窗子的面对面快传)
cd 需要分享的文件夹
python -m http.server 端口号
成功运行(说明:演示中Windows设备使用8088作为服务端口,Linux设备以手机上的QPython和其busybox为例)
再查看一下ip(windows用ipconfig, linux用ip addr show | grep inet)
上图中的http://::
然后用同网络下的另一台设备访问http://自己设备的网络ip:端口号,如http://192.168.1.125:8088(对应Linux那张图),和http://192.168.1.233:端口号(对应windows那张图)。就能看到文件列表了。
手机访问电脑Windows建的http服务器
<h1 id='end'>QPython打开python -m http.server port</h1>
但是qpython怎么打开python -m http.server port呢
需要间接获得qpy-android.sh的脚本路径,不跑任何脚本项目直接打开终端复制即可,如图
其中的/data/user/0/com.hipipal.qpyplus/files/bin/qpython3-android5.sh就是我们所需的,不同机子可能有一些差别
所以代码就是
import os
from random import randint
cmd="/data/user/0/com.hipipal.qpyplus/files/bin/qpython3-android5.sh -m http.server"
#Your path to share
dp="/storage/emulated/0/"
#dp="/data/user/0/com.hipipal.qpyplus/files"
os.chdir(dp)
with os.popen("ip addr show |"
" grep 'inet 192' |"
" sed 's/[^\/0-9\.]//g' |"
" sed 's/\/.*//g'") as fp:
ipstr=fp.read()
ipstr=ipstr[0:len(ipstr)-1]
while 1:
i=randint(1024,65535)
arg=" %d"%i
print("\n\nenter %s\n\n"%(
ipstr+":"+arg[1:]))
print("hit Control-C to quit")
ret=os.system(cmd+arg)
print("exitcode=", ret)
#listen to 0.0.0.0 means
# listen to any ip thats points
# here
if ret in (33280,0): break
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。