0

Python - PING 数据库中的 IP 地址列表

我有一个包含 200 个位置的 IP 地址列表,在该位置有 4 个 IP 地址需要我进行 ping 测试。我打算创建一个命令,当我写下特定位置的名称或代码时,它将直接 ping 到该位置的 4 个 IP 地址。我已经学会了创建一个列表,其中包含我通过命令 input() 输入的 ip 地址,如下所示:

import os
import socket

ip = []
y = ['IP 1 : ','IP 2 : ', 'IP 3 : ', 'IP 4 : ']

while True:
       for x in y:
             server_ip = input(x)
             ip.append(server_ip)
       break

for x in ip:
       print("\n")
       rep = os.system('ping ' + x + " -c 3")

请给我一些关于我要执行的命令的建议,这样我就不再需要一一输入IP地址了。这仍然让我感到困惑,特别是关于如何将数据库中的现有项目变成变量 x 我们将插入到这个命令中;rep = os.system ('ping' + x + "-c 3")

4

1 回答 1

1

编辑:它现在迭代一个 CSV 文件而不是一个硬编码的 Python 字典。

我相信你会更好地使用python 字典而不是 python 列表。假设您使用的是Python 3.X,这就是您要运行的:

import os
import csv

# Save the IPs you want to ping inside YOURFILE.csv
# Then iterate over the CSV rows using a For Loop
# Ensure your ip addresses are under a column titled ip_address
with open('YOURFILE.csv', newline='') as csvfile:
    reader = csv.DictReader(csvfile)
    for row in reader:
        rep = os.system("ping " + row['ip_address'] + " -c 3")
于 2018-05-25T22:38:49.687 回答