python下paramiko模块学习之四:从远程主机批量下载文件到本机

前面我们已经学习了paramiko的上传功能,这里就要给大家介绍下他的下载功能,呵呵,不废话了,直接上代码,感兴趣的可以研究下:


  1. [root@centos6 python]# cat paramiko-download.py 
  2. #!/usr/bin/env python 
  3. import paramiko 
  4. import os 
  5. import datetime 
  6. hostname='74.63.229.*' 
  7. username='root' 
  8. password='abc123' 
  9. port=22 
  10. local_dir='/tmp/' 
  11. remote_dir='/tmp/test/' 
  12. if __name__=="__main__"
  13.  #    try: 
  14.         t=paramiko.Transport((hostname,port)) 
  15.         t.connect(username=username,password=password) 
  16.         sftp=paramiko.SFTPClient.from_transport(t) 
  17. #        files=sftp.listdir(dir_path) 
  18.         files=sftp.listdir(remote_dir) 
  19.         for f in files: 
  20.                 print '' 
  21.                 print '#########################################' 
  22.                 print 'Beginning to download file  from %s  %s ' % (hostname,datetime.datetime.now()) 
  23.                 print 'Downloading file:',os.path.join(remote_dir,f) 
  24.  
  25.                 sftp.get(os.path.join(remote_dir,f),os.path.join(local_dir,f)) 
  26.                # sftp.put(os.path.join(local_dir,f),os.path.join(remote_dir,f)) 
  27.  
  28.                 print 'Download file success %s ' % datetime.datetime.now() 
  29.                 print '' 
  30.                 print '##########################################' 
  31.  
  32.      #except Exception: 
  33. #       print "error!" 
  34.         t.close() 
  35.  
  36. [root@centos6 python]# 

    呵呵,代码和前面上传功能稍有区别,这里就不写注释了,我的变量名都是和直观的就能让你明白意思了,哈哈,下面看下演示功能吧,看下效果:

 


  1. [root@centos6 python]# clear 
  2. [root@centos6 python]# python paramiko-download.py 
  3.  
  4. ######################################### 
  5. Beginning to download file  from 74.63.229.*  2011-11-05 15:49:01.334686 
  6. Downloading file: /tmp/test/wgetrc 
  7. Download file success 2011-11-05 15:49:05.955184 
  8.  
  9. ########################################## 
  10.  
  11. ######################################### 
  12. Beginning to download file  from 74.63.229.*  2011-11-05 15:49:05.955342 
  13. Downloading file: /tmp/test/xinetd.conf 
  14. Download file success 2011-11-05 15:49:10.929568 
  15.  
  16. ########################################## 
  17.  
  18. ######################################### 
  19. Beginning to download file  from 74.63.229.*  2011-11-05 15:49:10.929740 
  20. Downloading file: /tmp/test/warnquota.conf 
  21. Download file success 2011-11-05 15:49:14.213570 
  22.  
  23. ########################################## 

   呵呵,效果还是不错的,至此,paramiko的上传下载都已经介绍完 了,呵呵,下面讲虾米内容呢,千万别走开,精彩内容继续为你放松,下一次,我将为你介绍和前面讲过的,读取配置文件,上传批量文件到多部服务器,敬请关注。。。

本文转自你是路人甲还是霍元甲博客51CTO博客,原文链接http://blog.51cto.com/world77/707024如需转载请自行联系原作者


world77

上一篇:知无涯之C++ typename的起源与用法


下一篇:[转载] OAuth2.0认证和授权原理