微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我希望能够在手机和电脑之间传输文件.这款手机是一款可运行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通过电子邮件以其他方式发送文件.

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

最佳答案
我会使用paramiko.它安全快速而且非常简单.怎么回事?

所以我们首先导入模块,然后指定日志文件

import paramiko
paramiko.util.log_to_file('/tmp/paramiko.log')

我们打开一个SSH传输:

host = "example.com"
port = 22
transport = paramiko.Transport((host,port))

接下来我们要验证.我们可以用密码来做到这一点:

password = "example101"
username = "warrior"
transport.connect(username = username,password = password)

另一种方法是使用SSH密钥:

import os
privatekeyfile = os.path.expanduser('~/.ssh/id_rsa')
mykey = paramiko.RSAKey.from_private_key_file(privatekeyfile)
username = 'warrior'
transport.connect(username = username,pkey = mykey)

现在我们可以启动SFTP客户端:

sftp = paramiko.SFTPClient.from_transport(transport)

现在,我们将文件从远程数据库拉到本地系统:

filepath = '/home/zeth/lenna.jpg'
localpath = '/home/zeth/lenna.jpg'
sftp.get(filepath,localpath)

现在让我们走另一条路:

filepath = '/home/zeth/lenna.jpg'
localpath = '/home/zeth/lenna.jpg'
sftp.put(filepath,localpath)

最后,我们需要关闭SFTP连接和传输:

sftp.close()
transport.close()

怎么样??我必须以此为例给出credit.

原文地址:https://www.jb51.cc/python/438988.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐