新手来了。我想知道如何将打印函数的输出与变量匹配。
我有一个文本文件,其内容如下:
5,pon01.nyc:R1.S1.LT1.PON10.ONT 11,Richard 6,pon01.miami:R1.S1.LT1.PON10.ONT 12,Judy 9,pon01.denver:R1.S1.LT1.PON10.ONT 15,Rachel 14,pon01.houston:R1.S1.LT1.PON10.ONT 2,Jeremy 17,pon01.chicago:R1.S1.LT1.PON10.ONT 22,Matt
当我运行我的代码时,它会按预期返回以下内容:
纽约迈阿密丹佛休斯顿芝加哥
与其打印城市,我如何才能让它打印相应的IP地址给每个城市?
import os
import re
import sys
file = open("/home/Scripts/names.txt", "r")
nyc = "10.1.1.1"
miami = "10.1.1.2"
denver = "10.1.1.3"
houston = "10.1.1.4"
chicago = "10.1.1.5"
for line in file:
name = line.strip()
values = name.split(",")
line = values[0]
node = values[1]
customer = values[2]
newnode = re.findall(r"\.(.*?)\:", node)
print "\n".join(newnode)
file.close()预期结果应为: 10.1.1.1 10.1.1.2 10.1.1.3 10.1.1.4 10.1.1.5
任何帮助都将不胜感激!谢谢你提前..。
发布于 2019-02-13 19:11:54
您可以尝试将城市/ip对放入以名称为键的字典中:
import os, re, sys
ip_dict = {'nyc': "10.1.1.1",
'miami': "10.1.1.2",
'denver': "10.1.1.3",
'houston': "10.1.1.4",
'chicago': "10.1.1.5"
}
with open("/home/Scripts/names.txt", "r") as f:
for line in f:
name = line.strip()
values = name.split(",")
line = values[0]
node = values[1]
customer = values[2]
newnode = re.findall(r"\.(.*?)\:", node)
print "\n".join([ip_dict[x] for x in newnode])https://stackoverflow.com/questions/54676604
复制相似问题