gpt4 book ai didi

python - 抓取一行的一部分直到出现空白

转载 作者:行者123 更新时间:2023-12-01 01:53:38 24 4
gpt4 key购买 nike

我有一行文本,看起来像:

2018-05-22 00:00:00 STATUS ERROR_CODE /home/etm124/script.py ANOTHER_MSG

我想要做的是获取脚本名称。我无法按空格分割,因为 STATUS 可能不止一个单词,但脚本值始终位于 line 的位置 [411]。我目前正在尝试做类似的事情:

with open(my_log, 'r') as fp:
for line in fp:
if line[45] == '7': #ERROR_CODE
print line[411: {white_space?}]

最佳答案

您可以使用带有偏移量的str.find:

offset = 411
line[offset:line.find(" ",offset)]

速度很快(仅一片),但问题是:如果没有空间,结果会是 -1 并且丢失 1 个字符。

另一种方法是切片然后分割/分区(即使之后没有空间也可以):

line[411:].split()[0]

一些更复杂的代码来处理“缺失的空间”并且只执行 1 个切片和 1 个查找:

offset = 411
spacepos = line.find(" ",offset)
line[offset:spacepos if spacepos != -1 else None])

因此,如果 find 返回 -1,则切片到字符串末尾。

关于python - 抓取一行的一部分直到出现空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50468195/

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