首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Python将打印输出与变量匹配

使用Python将打印输出与变量匹配
EN

Stack Overflow用户
提问于 2019-02-13 17:58:53
回答 1查看 36关注 0票数 0

新手来了。我想知道如何将打印函数的输出与变量匹配。

我有一个文本文件,其内容如下:

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地址给每个城市?

代码语言:javascript
复制
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

任何帮助都将不胜感激!谢谢你提前..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-13 19:11:54

您可以尝试将城市/ip对放入以名称为键的字典中:

代码语言:javascript
复制
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])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54676604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档