首页 > 解决方案 > 我尝试在 Python 中的文本文件中逐行解析,但它只能解析第一行,无法从第二行读取

问题描述

我的文本文件“test.txt”看起来像;

主机名开关

网络 192.168.8.0 255.255.255.0

==================================================== =

我的python编码“TextFileParse.py”;

导入操作系统

f = open('test.txt', 'r')

而1:

lines = f.readlines()

for line in lines:
    item = line.split()
    print(line)
    name = item[item.index('hostname')+1]
    nw = item[item.index('network')+1]
    print(name, nw)  

f(关闭)

结果消息;

主机名开关

回溯(最后一次调用):文件“D:\TextFileParse.py”,第 15 行,在 nw = item[item.index('network')+1] ValueError: 'network' is not in list

如何从第二行读取索引?我不是程序专家,只是初学者。

标签: pythonparsingindexingtextline

解决方案


f.readlines()一次读取文件的每一行。您有程序搜索hostnameand network,但两者都不在文件的每一行中。你可以试试:

try:
    name = item[item.index('hostname')+1]
    print(name, end=" ")
except ValueError:
    nw = item[item.index('network')+1]
    print(nw)

推荐阅读