zoukankan      html  css  js  c++  java
  • 模块(二)

    一、optparse模块

             是用来处理命令行参数的模块,功能很强大

             ①首先要创建一个parse实例  parse=optparse.OptionParser()

             ②给实例定义命令行的输入规则  parse.add_option()

                其中定义了 选项名(短选项、长选项、保存参数的变量名、变量类型、操作类型等等)

             ③调用parse_args()方法来返回一个保存参数值的对象和 保存位置参数的列表

             举个小例子:

     1 import optparse
     2 parse=optparse.OptionParser()  #首先实例一个parse
     3 parse.add_option('-H','--host',dest='host',type=str,action='store',help='add host to server')
     4 #'-H','--host'   一个长选项,一个长选项,二者可任选其一,不是必须都要写
     5 #dest='host'     将'-H'或者'--host'后面命令行的参数值保存到变量host中,并且可以通过options.host来访问这个值
     6 #type=str   参数值得类型必须是字符串类型,如果不是字符串类型将会强制转为字符串
     7 #action='store' 用户必须填写参数值(默认,可不写)
     8     #action='store_true'  用户可以不写参数值,会将布尔值true传给dest
     9     #action='store_false'   用户可以不写参数值,会将布尔值true传给dest
    10 options,args=parse.parse_args()
    11 #options中存放的是参数名(上面说的变量名)和参数值  {'host': '193.9.9.9'}
    12 #args    位置参数列表
    13 print(options)     #{'host': '193.9.9.9'}
    14 print(args)    #[]
    15 print(options.host)  # 193.9.9.9

         补充:parse.add_option('-H','--host',dest='host',help='add host to server',default='0.0.0.0')

        default='0.0.0.0'   如果没有给host传入参数,那么用默认值0.0.0.0传给host


    二、paramiko模块

    该模块主要用于进行与远程服务器连接的模块
    linux下安装paramiko模块:
    http://www.cnblogs.com/xia520pi/p/3805043.html
    win下安装paramiko for python3.5:在python的Scripts目录下执行  pip install paramiko -i  http://mirrors.aliyun.com/pypi/simple  --trusted-host mirrors.aliyun.com /1
      
    1、SSHClient:连接远程服务器执行基本命令

        ①第一种连接方式:
     1 import paramiko
     2 '''首先创建一个ssh对象'''
     3 ssh=paramiko.SSHClient()
     4 '''允许连接不在know_hosts文件中的主机'''
     5 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
     6 '''连接服务器'''
     7 ssh.connect(hostname='192.168.23.4',port=22,username='root',password='123456')
     8 
     9 stdin,stdout,stderr=ssh.exec_command('df')
    10 stdout2=stdout.read()
    11 print(stdout2.decode())
        ②第二种连接方式:  SSHClient封装transport
     1 import paramiko
     2 transport=paramiko.Transport('10.69.9.69',22)   #ip和端口号
     3 transport.connect(username='root',password='19920321') #用户名和密码
     4 
     5 ssh=paramiko.SSHClient()
     6 ssh._transport=transport 
     7 stdin,stdout1,stderr=ssh.exec_command('pwd')
     8 stdin,stdout2,stderr=ssh.exec_command('ls')
     9 print(stdout1.read().decode())
    10 print(stdout2.read().decode())
    
    
            2、 SFTPClient:连接远程服务器执行基本命令
    上传下载文件只有封装transport这一种连接方式
    import paramiko
    t=paramiko.Transport('10.69.9.69',22)
    t.connect(username='root',password='19920321')
    sftp=paramiko.SFTPClient.from_transport(t)
    '''上传SDK Manager.exe到远程服务器的/usr/xiaonan'''    注意:要给下载或上传的文件重命名
    sftp.put('E:SDK Manager.exe','/usr/xiaonan/SDK Manager.exe')
    '''下载xiaonan.txt到本地E:just_testing'''
    sftp.get('/usr/xiaonan/xiaonan.txt','E:just_testing\xiaonan.txt')
    t.close()

                   

                 上面几种连接,返回结果后,连接就会断开,那么怎么可以保持连接呢?

         

                         






  • 相关阅读:
    【Android Developers Training】 73. 布局变化的动画
    【Android Developers Training】 72. 缩放一个视图
    【Android Developers Training】 71. 显示翻牌动画
    svn更改地址怎么办
    python学习手册
    failed to bind pixmap to texture
    Ubuntu 12.04安装Google Chrome
    svn update 时总是提示 Password for '默认密钥' GNOME keyring: 输入密码
    重设SVN 的GNOME keyring [(null)] 的密码
    Nginx + uWSGI + web.py 搭建示例
  • 原文地址:https://www.cnblogs.com/songxiaonan/p/6155697.html
Copyright © 2011-2022 走看看