gpt4 book ai didi

Python:解析具有各种字段计数的冒号分隔文件

转载 作者:太空宇宙 更新时间:2023-11-04 11:01:33 25 4
gpt4 key购买 nike

我正在尝试解析 'clientname'.txt 中具有以下格式的几个文件

hostname:comp1
time: Fri Jan 28 20:00:02 GMT 2011
ip:xxx.xxx.xx.xx
fs:good:45
memory:bad:78
swap:good:34
Mail:good

每个部分都由 : 分隔,但第 0、2、6 行有 2 个字段...第 1、3-5 行有 3 个或更多字段。 (我遇到的一个大问题是 time: 行,因为 20:00:02 实际上是一个时间,而不是 3 个单独的字段。

我有几个这样的文件需要解析。其中一些文件中有更多行具有多个字段。

...
for i in clients:
if os.path.isfile(rpt_path + i + rpt_ext): # if the rpt exists then do this
rpt = rpt_path + i + rpt_ext
l_count = 0
for line in open(rpt, "r"):
s_line = line.rstrip()
part = s_line.split(':')
print part
l_count = l_count + 1
else: # else break
break

首先,我先检查文件是否存在,如果存在,然后打开文件并解析它(最终)截至目前,我只是打印输出(打印部分)以确保解析正确。老实说,我现在唯一遇到的麻烦是 time: field。我怎样才能将那条线与其他所有线区别开来?在我的所有报告文件中,时间字段始终位于第二行。

最佳答案

split 方法具有以下语法 split( [sep [,maxsplit]]) 如果给出了 maxsplit,它将生成 maxsplit+1 个部分。在您的情况下,您只需将 maxsplit 设为 1。只需 split(':',1) 即可解决您的问题。

关于Python:解析具有各种字段计数的冒号分隔文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4833948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com