1.Linux安装paramiko要先安装好python-devel和PyCrypto的模块
Windows安装paramiko要先安装好pycrypto和ecdsa两个模块。
2.paramiko例子
1)ssh例子
[root@scctmpdev02101:/root/python]#vim paramikosshv2.py
#!/usr/bin/python
#coding=utf-8 #python2的编码默认是ASCII,你的文件里有中文就必须要用utf-8编码,只要在文件需要在文件
import paramiko
import sys #读取参数
import getpass #人机交互读取密码
USER = 'root'
PASSWORD = 'xxxxxx'
PASSWORD = getpass.getpass('Input Password: ')
COMMAND = 'touch /tmp/20170307103210'
COMMAND = "touch /tmp/`date +%Y%m%d%H%M%S`"
COMMAND =  open(sys.argv[1]).read()
#for line in open('/root/python/host_hdpdev').readlines():#absolute path or relative
for line in open(sys.argv[2]).readlines():
        if  line.startswith('#'):
                print 'the line is not  a valid IP:' + line.strip()
        else:
                print 'the line is a valid IP:' + line.strip()
                IP = line
                paramiko.util.log_to_file('/root/python/paramiko.log')#每次都是追加写入
                s = paramiko.SSHClient()
                s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
                s.connect(hostname=IP,username=USER,password=PASSWORD)
                stdin,stdout,stderr = s.exec_command(COMMAND)
                print line.strip() + '执行结果' + '\n' + stdout.read() + '\n' + stderr.read()
                s.close
2)sftp例子
[root@scctmpdev02101:/root/python]#vim paramikosftp.py
import sys,paramiko,threading,getpass,os
action = sys.argv[1]
flag = '-p'
username = sys.argv[3]
password = getpass.getpass('Password: ')
sourcepath = sys.argv[4]
targetpath = sys.argv[5] if not sys.argv[5].endswith('/') else sys.argv[5] + '/' + os.path.basename(sourcepath)
#for line in open('/root/python/host_hdpdev').readlines():#absolute path
for line in open(sys.argv[2]).readlines():#absolute path
        if  line.startswith('#'):
                print 'the line is not  a valid IP:' + line.strip()
        else:
                print 'the line is a valid IP:' + line.strip()
                host=line.strip()
                t = paramiko.Transport((host,22))
                try:
                        t.connect(username=username,password=password)
                except Exception as e:
                        print host,str(e)
                sftp = paramiko.SFTPClient.from_transport(t)
                #if  action == flag:
                #if  action.strip() == '-p':
                if  (action == '-p'):
                        sftp.put(sourcepath,targetpath)
                else:
                        sftp.get(sourcepath,targetpath+'_'+host)
                t.close()
3 for例子

1)for i in range(0,10):
        if i > 5:
            break; #在值为6的时候退出for循环
        else:
                print "hello world";

2)for遍历读取文件行

for line in open('/root/python/host_hdpdev').readlines():#absolute path
        if  line.startswith('#'):
                print 'the line is not  a valid line.strip()' + line.strip()
        else:
                print 'the line is a valid line.strip():' + line.strip()

for和open文件结合的用法
for val in open("./host_hdpdev","r").read():#遍历文件的第一行,把第一行中的每个字符作为一行来读取
    print val

for val in open("./host_hdpdev","r").readline():#把文件的每个字符作为一行来读取
    print val

for val in open("./host_hdpdev","r").readlines():#一行一行读取文件
    print val

转载于:https://www.cnblogs.com/dotagg/p/6520252.html

paramiko学习笔记相关推荐

  1. 关于《Python黑帽子:黑客与渗透测试编程之道》的学习笔记

    本篇文章是学习<Python黑帽子:黑客与渗透测试编程之道>的笔记,会持续地将书上的代码自己敲一遍,从而让自己对Python的安全编程有更多的了解,同时希望各位可以给给建议,不足之处太多了 ...

  2. PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 call

    您的位置 首页 PyTorch 学习笔记系列 PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 发布: 2017年8月4日 7,195阅读 ...

  3. 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  4. 容器云原生DevOps学习笔记——第二期:如何快速高质量的应用容器化迁移

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  5. 2020年Yann Lecun深度学习笔记(下)

    2020年Yann Lecun深度学习笔记(下)

  6. 2020年Yann Lecun深度学习笔记(上)

    2020年Yann Lecun深度学习笔记(上)

  7. 知识图谱学习笔记(1)

    知识图谱学习笔记第一部分,包含RDF介绍,以及Jena RDF API使用 知识图谱的基石:RDF RDF(Resource Description Framework),即资源描述框架,其本质是一个 ...

  8. 计算机基础知识第十讲,计算机文化基础(第十讲)学习笔记

    计算机文化基础(第十讲)学习笔记 采样和量化PictureElement Pixel(像素)(链接: 采样的实质就是要用多少点(这个点我们叫像素)来描述一张图像,比如,一幅420x570的图像,就表示 ...

  9. Go 学习推荐 —(Go by example 中文版、Go 构建 Web 应用、Go 学习笔记、Golang常见错误、Go 语言四十二章经、Go 语言高级编程)

    Go by example 中文版 Go 构建 Web 应用 Go 学习笔记:无痕 Go 标准库中文文档 Golang开发新手常犯的50个错误 50 Shades of Go: Traps, Gotc ...

最新文章

  1. UPS电源报警器一直响是什么问题?
  2. Angular中数据文本绑定、绑定Html、绑定属性、双向数据绑定的实现方式
  3. hadoop2.2.0 core-site.xml--security properties
  4. java把按钮和键盘对应_按键与按钮的区别?
  5. linux入门 适合初学者_听说 C++ Primer-不适合初学者入门!元芳,你怎么看呢?
  6. java 模板组件_9Tile模板和Tile组件创建复合式网页
  7. UNIX环境高级编程之第6章:系统数据文件和信息
  8. Day 6 函数与模块
  9. JavaScript 上传文件并显示进度条(主页资源中有后端服务器).
  10. 在Linux下用sopcast/qsopcast收看网络电视
  11. 使用C语言输出菱形详解
  12. 处理器排行_2019年度PC处理器性能排行榜:AMD反超Intel
  13. webservice 缺少根元素_草莓种植,这2种元素至关重要,直接影响草莓的产量和品质...
  14. Attack State Slight Movement(攻击状态)
  15. 腾讯音乐管理层调整:联席总裁谢国民辞职 谢振宇兼任CTO
  16. LiveData vs EventBus?是否可以实现共赢
  17. 如何在自己的网站输入关键字跳到百度搜索,并显示搜索内容呢?
  18. spark集群详细搭建过程及遇到的问题解决(一)
  19. Hadoop —— 漫画图解hdfs读、写、容错、副本机制
  20. 关于多极充磁磁环表面磁场分布的研发历程GM900系列表磁分布测量仪

热门文章

  1. 如何查看静态库中有哪些函数
  2. CVPR 2022 论文和开源项目合集
  3. 发票编号识别、验证码识别 ,图像分割
  4. 打印机修复工具_Windows10更新后打印机崩溃?速度安装修复补丁
  5. python字符串驼峰转换_将字符串转换为驼峰格式
  6. css图片居中_网页元素居中的n种方法
  7. Fixchart图表组件——介绍
  8. linux安装java_安装和配置Linux上的Java运行环境
  9. 前端_JavaScript_语法篇
  10. This ZooKeeper instance is not currently serving requests