使用python在计算机和手机之间通过wifi进行简单的文件传输

foo*_*ion 6 python mobile-phones file-transfer

我希望能够在手机和电脑之间传输文件.这款手机是一款可运行python 2.5.4的智能手机,而且该计算机运行的是windows xp(使用python 2.5.4和3.1.1).

我想在手机上安装一个简单的python程序,它可以将文件发送到计算机并从计算机中获取文件.电话端应仅在调用时运行,计算机端可以是服务器,但最好是不使用大量资源的东西.电话端应该能够弄清楚计算机上相关目录中的内容.

目前我通过在计算机上运行Windows Web服务器(ugh)以及带有socket.set_ default _ access_point的脚本(因此程序可以选择我的路由器的ssid或其他传输)和urlretrieve(到得到文件)在手机上.我正在使用smtplib通过电子邮件以其他方式发送文件.

无论是一般概念,现有计划还是介于两者之间的任何内容,我们将不胜感激.

foo*_*ion 1

我最终在手机上使用 python 的 ftplib,在计算机上使用 FileZilla(一个 ftp 服务器)。优点是高度简单,但可能存在安全问题。

如果有人关心的话,这里是发送和接收文件的客户端代码的核心。实际的实施需要更多的基础设施。

from ftplib import FTP
import os

ftp = FTP()
ftp.connect(server, port)
ftp.login(user, pwd)

files = ftp.nlst() # get a list of files on the server
# decide which file we want

fn = 'test.py' # filename on server and for local storage
d = 'c:/temp/' # local directory to store file
path = os.path.join(d,fn)
r = ftp.retrbinary('RETR %s' % fn, open(path, 'wb').write)
print(r) # should be: 226 Transfer OK

f = open(path, 'rb') # send file at path
r = ftp.storbinary('STOR %s' % fn, f) # call it fn on server
print(r) # should be: 226 Transfer OK
f.close()

ftp.quit()
Run Code Online (Sandbox Code Playgroud)