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

相关文章
|
1月前
|
Python
Python Internet 模块
Python Internet 模块。
125 74
|
1月前
|
Python 容器
Python学习的自我理解和想法(9)
这是我在B站跟随千锋教育学习Python的第9天,主要学习了赋值、浅拷贝和深拷贝的概念及其底层逻辑。由于开学时间紧张,内容较为简略,但希望能帮助理解这些重要概念。赋值是创建引用,浅拷贝创建新容器但元素仍引用原对象,深拷贝则创建完全独立的新对象。希望对大家有所帮助,欢迎讨论。
|
30天前
|
Python
Python学习的自我理解和想法(10)
这是我在千锋教育B站课程学习Python的第10天笔记,主要学习了函数的相关知识。内容包括函数的定义、组成、命名、参数分类(必须参数、关键字参数、默认参数、不定长参数)及调用注意事项。由于开学时间有限,记录较为简略,望谅解。通过学习,我理解了函数可以封装常用功能,简化代码并便于维护。若有不当之处,欢迎指正。
|
21天前
|
数据可视化 数据挖掘 大数据
1.1 学习Python操作Excel的必要性
学习Python操作Excel在当今数据驱动的商业环境中至关重要。Python能处理大规模数据集,突破Excel行数限制;提供丰富的库实现复杂数据分析和自动化任务,显著提高效率。掌握这项技能不仅能提升个人能力,还能为企业带来价值,减少人为错误,提高决策效率。推荐从基础语法、Excel操作库开始学习,逐步进阶到数据可视化和自动化报表系统。通过实际项目巩固知识,关注新技术,为职业发展奠定坚实基础。
|
19天前
|
Python
[oeasy]python057_如何删除print函数_dunder_builtins_系统内建模块
本文介绍了如何删除Python中的`print`函数,并探讨了系统内建模块`__builtins__`的作用。主要内容包括: 1. **回忆上次内容**:上次提到使用下划线避免命名冲突。 2. **双下划线变量**:解释了双下划线(如`__name__`、`__doc__`、`__builtins__`)是系统定义的标识符,具有特殊含义。
27 3
|
1月前
|
存储 安全 索引
Python学习的自我理解和想法(8)
这是我在B站千锋教育学习Python的第8天,主要内容是元组。元组是一种不可变的序列数据类型,用于存储一组有序的元素。本文介绍了元组的基本操作,包括创建、访问、合并、切片、遍历等,并总结了元组的主要特点,如不可变性、有序性和可作为字典的键。由于开学时间紧张,内容较为简略,望见谅。
|
监控 Python 数据格式
|
1月前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
1月前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
1月前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
119 80

热门文章

最新文章