paramiko-python-(2)

2017-3-8来源:ASP.NET技巧人气:365

通过paramiko传送文件

#!/usr/bin/env python import paramiko import sys,os import time host = sys.argv[1] user = 'root' passWord = 'derek' #也就三句话,之后就是put和get t = paramiko.Transport((host,22)) t.connect(username=user, password=password) sftp = paramiko.SFTPClient.from_transport(t) PRint '---starting to upload---' start = time.time() #把当前目录下的二进制文件【ratings.dat】发送到目标主机tmp目录下,然后文件名不变 sftp.put('ratings.dat', '/tmp/ratings.dat') end = time.time() print end - start print '---starting to download---' start = time.time() #把目标主机tmp目录下的二进制文件【ratings.dat】发送到当前目录下的,然后文件名改为【ratings_copy.dat】不变 sftp.get('/tmp/ratings.dat', 'ratings_copy.dat') end = time.time() print end - start #可以把文件大小除以(end - start)就得到上传下载的平均速度 #file-size=【os.stat('ratings_copy.dat').st_size】

测试了一个下载的例子,由于文件太大和带宽的原因,时间很长啊,还没想到如何用进度条来人性化显示实时下载情况

derek@Ubuntu:~/Desktop/python-learn/day6-derek$ time python upload_and_download_using_paramiko.py 139.159.217.176 ---starting to download--- 101.026580095 real 1m42.643s user 0m2.732s sys 0m1.564s

总结: put 【orgi】 to 【des】 get 【des】 from 【orgi】 文件不存在会报IOError的异常