模块

Posted 3456425171

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模块相关的知识,希望对你有一定的参考价值。

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

               

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

     

 


                     






以上是关于模块的主要内容,如果未能解决你的问题,请参考以下文章

CTS测试CtsWindowManagerDeviceTestCases模块的testShowWhenLockedImeActivityAndShowSoftInput测试fail项解决方法(代码片段

如何将字符串数据从活动发送到片段?

argparse 代码片段只打印部分日志

nodejs常用代码片段

常用python日期日志获取内容循环的代码片段

Yarn: 一个新的JavaScript模块管理器