加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-17 00:51:24 所属栏目:Python 来源:网络整理
导读:我希望能够在手机和电脑之间传输文件.这款手机是一款可运行python 2.5.4的智能手机,而且该计算机运行的是windows xp(使用python 2.5.4和3.1.1). 我想在手机上安装一个简单的python程序,它可以将文件发送到计算机并从计算机中获取文件.电话端应仅在调用时运行

我希望能够在手机和电脑之间传输文件.这款手机是一款可运行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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读