用python同时ping多个IP区分哪些IP是通的,结果保存到TXT
时间: 2023-05-22 08:01:53 浏览: 111
文件中,你可以使用Python的ping3库来实现同时ping多个IP地址,以下是示例代码:
```python
import ping3
ips = ['192.168.0.1', '8.8.8.8', 'www.baidu.com']
with open('ping_result.txt', 'w') as f:
for ip in ips:
result = ping3.ping(ip)
if result is not None:
f.write(f'{ip} is reachable\n')
else:
f.write(f'{ip} is not reachable\n')
```
这段代码会依次ping列表中的IP地址,并将结果保存到名为`ping_result.txt`的文件中。如果IP地址可以ping通,会在文件中写入`IP地址 is reachable`,否则会写入`IP地址 is not reachable`。
相关问题
用python同时ping多个IP区分哪些IP是通的
可以使用Python的subprocess模块来执行ping命令,并通过解析ping命令的输出来判断哪些IP是通的。以下是一个示例代码:
```python
import subprocess
ips = ['192.168.1.1', '8.8.8.8', '10.0.0.1']
for ip in ips:
ping_process = subprocess.Popen(['ping', '-c', '1', ip], stdout=subprocess.PIPE)
ping_output = ping_process.stdout.read().decode('utf-8')
if '1 received' in ping_output:
print(ip, 'is reachable')
else:
print(ip, 'is not reachable')
```
这个代码会依次ping列表中的每个IP地址,并判断是否能够收到回复。如果能够收到回复,则输出该IP地址是可达的,否则输出该IP地址不可达。
用python同时ping多个IP
可以使用Python的multiping库来同时ping多个IP地址。以下是一个示例代码:
```
from multiping import MultiPing
# 定义要ping的IP地址列表
ip_list = ['192.168.1.1', '8.8.8.8', 'www.baidu.com']
# 创建MultiPing对象
mp = MultiPing(ip_list)
# 开始ping
responses, no_responses = mp.multi_ping()
# 输出结果
for ip, rtt in responses.items():
print(f'{ip} is online (round-trip time: {rtt} ms)')
for ip in no_responses:
print(f'{ip} is offline')
```
这段代码会同时ping三个IP地址,分别是192.168.1.1、8.8.8.8和www.baidu.com。如果IP地址在线,会输出其IP地址和ping的延迟时间;如果不在线,会输出其IP地址和“is offline”。