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()

                   

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

         

                         






  • 相关阅读:
    配置Express中间件
    C#字符串中特殊字符的转义
    JSON.NET 简单的使用
    ASP.NET 解决URL中文乱码的解决
    ASP.NET MVC 笔记
    VS中一些不常用的快捷键
    Visual Studio 中突出显示的引用
    Silverlight从客户端上传文件到服务器
    silverlight打开和保存文件
    sliverlight资源文件的URI调用
  • 原文地址:https://www.cnblogs.com/songxiaonan/p/6155697.html
Copyright © 2011-2022 走看看