python模块之sys和subprocess以及编写简单的主机扫描脚本
sys.exit(n)? 作用:执行到主程序末尾,解释器自动退出,但是如果需要中途退出程序,可以调用sys.exit函数,带有一个可选的整数参数返回给调用它的程序,表示你可以在主程序中捕获对sys.exit的调用。(0是正常退出,其他为异常) sys.path? ?作用:获取指定模块搜索路径的字符串集合 sys.platform: 获取当前系统平台 sys.argv??在外部向程序内部传递参数
subprocess.run()? ?作用:运行命令,返回命令执行的结果(python3.5以后的版本才会有这个命令) subprocess.call()? ?作用:执行命令,返回命令的状态,0或者非0,0表示执行成功 subprocess.getstatusoutput()? ??作用:接收字符串形式的命令,返回元组形式,第一个元素是执行状态,第二个是命令结果 subprocess.check_output()? ? ?作用:执行命令,并且返回二进制结果 3.简单的主机扫描脚本编写 2.subprocess模块
r1=subprocess.getstatusoutput(=subprocess.getstatusoutput(=subprocess.getstatusoutput(
r1=subprocess.check_output(,shell=(r1)
3.简单的主机扫描脚本编写 ping(net,start=50,end=200,n=1,w=10 i range(start,end+1=net++=nul%(ip,n,w) nul 不显示ping返回的信息
(ip,(,
<span style="color: #008000"># <span style="color: #008000">print(sys.argv)<span style="color: #008000"> <span style="color: #008000">print(len(sys.argv))<span style="color: #0000ff">if len(sys.argv) <span style="color: #0000ff">not <span style="color: #0000ff">in [2,4,6<span style="color: #000000">]:<span style="color: #0000ff">print(<span style="color: #800000">"<span style="color: #800000">参数输入错误!<span style="color: #800000">"<span style="color: #000000">) <span style="color: #0000ff">print(<span style="color: #800000">"<span style="color: #800000">运行示例:<span style="color: #800000">"<span style="color: #000000">) <span style="color: #0000ff">print(<span style="color: #800000">"<span style="color: #800000">test01.py 123.125.114<span style="color: #800000">"<span style="color: #000000">) <span style="color: #0000ff">print(<span style="color: #800000">"<span style="color: #800000">test01.py 123.125.114 30 50<span style="color: #800000">"<span style="color: #000000">) <span style="color: #0000ff">print(<span style="color: #800000">"<span style="color: #800000">test01.py 123.125.114 30 50 4,5<span style="color: #800000">"<span style="color: #000000">) <span style="color: #0000ff">print(<span style="color: #800000">"<span style="color: #800000">语法:test01.py net startip,endip,count timeout<span style="color: #800000">"<span style="color: #000000">) <span style="color: #0000ff">elif len(sys.argv)==2<span style="color: #000000">: net=sys.argv[1<span style="color: #000000">] ping(net) <span style="color: #0000ff">elif len(sys.argv)==4<span style="color: #000000">: net=sys.argv[1<span style="color: #000000">] ping(net,start=int(sys.argv[2]),end=int(sys.argv[3<span style="color: #000000">])) <span style="color: #0000ff">else<span style="color: #000000">: net=sys.argv[1<span style="color: #000000">] ping(net,end=int(sys.argv[3]),n=int(sys.argv[4]),w=int(sys.argv[5])) 运行效果如下: 4.用subprocess模块编写 代码如下: ping(net,start=100,n=2,w=5 i range(start,end+1=net++=%(ip,)[subprocess.call(command,stdout=open(,))])
t1= len(sys.argv)!=2((( len(sys.argv)==2=sys.argv[1=(%(t2-t1))
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |