Python - 打印配置行的特定部分

时间:2015-02-25 13:44:57

标签: python network-programming

我无法从配置文件中复制我使用的交换机的信息。当我运行下面的脚本时,它给了我一整行,例如“Switchport Access Vlan 99”。问题是我只想要/需要它返回'Vlan 99'。有什么建议吗?

input_file = open('X:\\abc\\def\\ghi.txt', 'r')
output_file = open('X:\\abc\\def\\jkl.txt', 'w')
for line in input_file:
    if "vlan" in line:
        print(line)
        output_file.write(line)

2 个答案:

答案 0 :(得分:1)

鉴于所有行都以“Switchport Access”开头,您只需使用字符串方法replace

line = "Switchport Access Vlan 99"
interesting_part = line.replace("Switchport Access ", "")

答案 1 :(得分:0)

根据文件的内容,您可能需要做一些不同的事情。

如果每个人都喜欢“Some random text Vlan 99”,那么你可以使用:

for line in input_file:
  if "vlan" in line:
    s = line[line.find("Vlan"):]
    print(s)
    output_file.write(s)

line.find("text")返回字符串的索引(如果找到),否则返回-1。 line[N:]将索引的子字符串返回到结尾。

对于获取子字符串的另一种方法,您可以查看line.split(),然后获取该列表的最后一个元素来获取您的数字。