首页 > 解决方案 > python在文本文件中查找行

问题描述

我有一个包含以下条目的文本文件:

address-object ipv4 "DRV FIL01"
name "DRV FIL01"
ID 00000000-0000-002a-0100-c0eae46ae3f4
zone LAN_General
host 10.4.12.7

address-object ipv4 "DRV FIL02"
name "DRV FIL02"
ID 00000000-0000-002b-0100-c0eae46ae3f4
zone LAN_Management
host 10.4.11.11

我需要一个 python 脚本来遍历文件,保留以下以开头的行namehost忽略其余部分:

name "DRV FIL01"
host 10.4.12.7

name "DRV FIL02"
host 10.4.11.11

我很感激任何帮助。谢谢

标签: pythonfile-read

解决方案


试试这个代码:

file = open("file.txt")
for line in file:
    if(len(line)>3):
        if(line[0:4]=="name" or line[0:4]=="host"):
            print(line)
    if(len(line)==0):
        print()

它能做什么:

  1. 打开文件

  2. 遍历文件中的行

  3. (在 2 的循环中)如果行的长度至少为 4

  4. (在if3 个中)如果它以nameor开头host

  5. if共 4 个)打印该行

  6. (在 2 的循环中)否则,如果它的长度为 0(表示空行)

  7. if共 6 个)打印一个空行

这似乎是你所要求的。请记住下次发布您尝试过的代码以及(如果有)错误消息。如果您没有任何代码,请记住 Stack Overflow 不是免费的代码编写服务,因此请先自己尝试。


推荐阅读