模块
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项解决方法(代码片段