用python读取文件和筛选值

2024-09-26 21:48:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数组,里面填充了一个python-read.txt文件中的值,我只想用我感兴趣的内容来打断该文件中的信息,即未注释的值srv2 and srv3

脚本

# value filter without comments
outfinally = []
outfinally = [re.split(r'\s\s+|\s*#\s*|\b\d+\b',line) for line in output[0].splitlines()]

for line in outfinally:
    print(line)

存档

########################################################################
#
#       Licensed Materials
#
#
#       (C) Copyright. All Rights Reserved
#
#
#       ========================================================
#       Module Information:
#
#       DESCRIPTION:
#       ping.file
#
######################################################################
#srv1       300
10.10.10.1  300
srv2        300
srv3        300

输出

['', '========================================================']
['', 'Module Information:']
['', '']
['', 'DESCRIPTION:']
['', 'ping.file']
['', '']
['srv2\t', '']
['srv3\t', '']

值得输出

srv2
srv3

Tags: 文件intxtforreadinformationline数组
1条回答
网友
1楼 · 发布于 2024-09-26 21:48:16

这里不需要正则表达式,只要保留以字母开头的非空行,并保留第一个单词:

test = """
#       ping.file
#
######################################################################

#srv1       300
10.10.10.1  300
srv2        300
srv3        300
srv4   # comments
"""

lines = [line.split()[0] for line in test.splitlines() if line and line[0].isalpha()]
print(lines)
# ['srv2', 'srv3', 'srv4']

或者如果你想这样:

print('\n'.join(lines))

输出:

srv2
srv3
srv4

相关问题 更多 >

    热门问题