python之paramiko模块学习之:上传与下载

 最近稍微学习了下python中的paramiko这个模块,发现他的功能还是很强大的,他的上传和下载功能十分适合运维人员的一些日常工作的需要,不 废话了,下面直接上代码了,先说下环境,本文是在centos6的环境下,python的版本是2.6.5,如果你没配好环境,可以看我写的http://www.50rescue.com/index.php/archives/10/   这里来配置好环境,建议你一定要按照好easy_inatall  这个工具,在学习中,感觉离不开她 了,呵呵。。。。
贴别提醒:论坛的编辑器我不太会使用,我把源代码复制在文本文件里,传了上来,需要的可以下载:
下面是上传的代码:

  • [root@centos6 python]# clear
  • [root@centos6 python]# cat paramiko-upload.py
  • #!/usr/bin/env python
  • import paramiko
  • import os
  • import datetime
  • hostname='74.63.229.*'
  • username='root'
  • password='abc123'
  • port=22
  • local_dir='/tmp/'
  • remote_dir='/tmp/test/'
  • if __name__=="__main__":
  • #    try:
  •         t=paramiko.Transport((hostname,port))
  •         t.connect(username=username,password=password)
  •         sftp=paramiko.SFTPClient.from_transport(t)
  • #        files=sftp.listdir(dir_path)
  •         files=os.listdir(local_dir)
  •         for f in files:
  •                 print''
  •                 print'#########################################'
  •                 print'Beginning to upload file %s ' % datetime.datetime.now()
  •                 print'Uploading file:',os.path.join(local_dir,f)
  •                # sftp.get(os.path.join(dir_path,f),os.path.join(local_path,f))
  •                 sftp.put(os.path.join(local_dir,f),os.path.join(remote_dir,f))
  •                 print'Upload file success %s ' % datetime.datetime.now()
  •                 print ''
  •                 print '##########################################'
  •      #except Exception:
  • #       print "error!"
  •         t.close()
  • [root@centos6 python]#


下面是下载功能的代码:

  • [root@centos6 python]# cat paramiko-download.py
  • #!/usr/bin/env python
  • import paramiko
  • import os
  • import datetime
  • hostname='74.63.229.*'
  • username='root'
  • password='abc123'
  • port=22
  • local_dir='/tmp/'
  • remote_dir='/tmp/test/'
  • if __name__=="__main__":
  • #    try:
  •         t=paramiko.Transport((hostname,port))
  •         t.connect(username=username,password=password)
  •         sftp=paramiko.SFTPClient.from_transport(t)
  • #        files=sftp.listdir(dir_path)
  •         files=sftp.listdir(remote_dir)
  •         for f in files:
  •                 print ''
  •                 print '#########################################'
  •                 print 'Beginning to download file  from %s  %s ' % (hostname,datetime.datetime.now())
  •                 print  'Downloading file:',os.path.join(remote_dir,f)
  •                 sftp.get(os.path.join(remote_dir,f),os.path.join(local_dir,f))
  •                # sftp.put(os.path.join(local_dir,f),os.path.join(remote_dir,f))
  •                 print'Download file success %s ' % datetime.datetime.now()
  •                 print''
  •                 print'##########################################'
  •      #except Exception:
  • #       print "error!"
  •         t.close()
  • [root@centos6 python]#


      呵呵,代码比较简陋,异常处理也没加,只是自己学习中用的,如果要做成产品的话,还需要好多改进的地方,希望和大家一起进步。。。

posted @ 2013-01-26 19:06  zaleilynn  阅读(470)  评论(0编辑  收藏  举报