这一定是一个非常简单的问答。我有一个字典密钥,其中第一个可用的IP地址将始终是数据。我想把它改成网络IP,所以我只需要从数字中减去1。尝试用它创建一个变量,我可以使用它,但我不能用字符串做数学运算。如果我可以在不拆分IP的情况下减少IP,那么我将获得额外的积分。有人能给我指明正确的方向吗?
import csv
minus_one = []
with open('iplist.csv', mode='r') as csv_file:
csv_reader = csv.DictReader(csv_file)
line_count = 0
for row in csv_reader:
ip = row["IP_ADDRESS_ZLOC"]
split_ip = row["IP_ADDRESS_ZLOC"].split(".")
print(ip)
print(split_ip)
print('n')
if "172" in row["IP_ADDRESS_ZLOC"].split(".")[0]:
minus_one.append(
f'{row["IP_ADDRESS_ZLOC"]} MINUS ONE???'
)
print('n'.join(minus_one))
输出:
172.22.11.22
['172', '22', '11', '22']
172.22.11.33
['172', '22', '11', '33']
10.10.10.11
['10', '10', '10', '11']
172.22.11.22
['172', '22', '11', '22']
172.22.11.22 MINUS ONE???
172.22.11.33 MINUS ONE???
172.22.11.22 MINUS ONE???
我希望这就是你的意思:
for row in csv_reader:
if row[:3] == "127":
minus_one.append(
'.'.join([str(int(x)+1)for i, x in enumerate(row.split('.')) if i 3 else x])
)
结果:
172.22.11.23
172.22.11.34
172.22.11.23