PING命令
subprocess模块可以调用系统命令,可以进行单个ip和多个ip的ping命令以及从文本读取数据和将结果写入文件来进行保存
Ping单个域名
#-8- coding:utf-8 -*-
import subprocess
import shlex
import time
sata_time = time.time()
ping = subprocess.run(shlex.split('ping -w 1 '+'www.baidu.com'))
print(f"累计花费时间:{int(time.time()-sata_time)}s")
Ping单个ip
#-8- coding:utf-8 -*-
import subprocess
import shlex
import time
sata_time = time.time()
ping = subprocess.run(shlex.split('ping -w 1 '+'36.152.44.96'))
print(f"累计花费时间:{int(time.time()-sata_time)}s")
Ping多个ip或者多个域名
#-8- coding:utf-8 -*-
import subprocess
import shlex
import time
sata_time = time.time()
line = ['www.baidu.com','www.qq.com','v.qq.com']
line2 = ['36.152.44.96','183.194.238.117','117.169.100.145']
for i in line:
ping = subprocess.run(shlex.split('ping -w 1 '+i))
for i2 in line2:
ping2 = subprocess.run(shlex.split('ping -w 1 '+i2))
print(f"累计花费时间:{int(time.time()-sata_time)}s")
Ping结果输出
#-8- coding:utf-8 -*-
import subprocess
import shlex
import time
sata_time = time.time()
line = ['www.baidu.com','www.qq.com','v.qq.com']
line2 = ['36.152.44.96','183.194.238.117','117.169.100.145']
for i in line:
ping = subprocess.run(shlex.split('ping -w 1 '+i),stdout=subprocess.PIPE,stderr=subprocess.PIPE)
p_ping = ping.stdout.decode('gbk')
print(p_ping)
for i2 in line2:
ping2 = subprocess.run(shlex.split('ping -w 1 '+i2),stdout=subprocess.PIPE,stderr=subprocess.PIPE)
p_ping2 = ping2.stdout.decode('gbk')
print(p_ping2)
print(f"累计花费时间:{int(time.time()-sata_time)}s")
从文本读取ip或域名并且输出到文本
#-8- coding:utf-8 -*-
import subprocess
import shlex
import time
sata_time = time.time()
with open('ip.txt','r') as f:
liness = f.readlines()
for i in liness:
print(i.strip())
ping = subprocess.run(shlex.split('ping -w 1 '+i),stdout=subprocess.PIPE,stderr=subprocess.PIPE)
p_ping = ping.stdout.decode('gbk')
with open('ip_ping.txt','a+') as f2:
f2.write(p_ping)
f2.close()
f.close()
print(f"累计花费时间:{int(time.time()-sata_time)}s")