开发者社区> 科技探索者> 正文

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
python制作词云,创建txt文件
目录 1.本文简介 2.所需要用到的第三方库 3.需要的txt文件 4.大概流程 5.词云优化 6.完整代码和成果展示 7.词云扩展 1.本文简介 词云广泛应用于ppt、新闻、文章中,能突出下文所要讲述的主体,能在作品中添加一张词云肯定是加分的。下面主要是我最近学到的制作简单的词云的方法,各方面我会尽量讲的细致一点,希望能对大家有所帮助。 2.所需要用到的第三方库 from wordcloud import WordCloud import matplotlib.pyplot as plt import jieba 第一个库是制作词云所需要的(根据英文意思也能知道);第二个库能进行优秀
34 0
Python批量读取Excel并跨越不同xlsx文件求取平均值
本文介绍基于Python语言,实现对多个不同Excel文件进行数据读取与平均值计算的方法~
38 0
python 使用ftplib连接ftp服务器获取目录、文件及它们的修改时间
* 获取当前路径或者指定路径下的文件、目录 * 检查指定路径是目录还是文件 * 根据目录、文件的修改时间来判断是否下载ftp的文件。 由于ftplib中的FTP无法满足我这一需求,所以只能重写一个MyFTP类继承FTP,写一个方法来实现,除了这个还实现了一个获取当前目录下的所有目录及文件。
43 0
Python入门实例——文件和异常
Python入门实例——文件和异常
16 0
软件测试|一文教你学会Python文件 I/O 操作
软件测试|一文教你学会Python文件 I/O 操作
19 0
python文件打包成exe可执行文件
python文件打包成exe可执行文件
44 0
.mat文件转到Python中处理
.mat文件转到Python中处理
31 0
使用Pycharm设置python脚本文件头
使用Pycharm设置python脚本文件头:位置、效果参考、模板预定义变量参考。。。
28 0
+关注
科技探索者
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
给运维工程师的Python实战课
立即下载
Python 脚本速查手册
立即下载
ACE 区域技术发展峰会:Flink Python Table API入门及实践
立即下载