gpt4 book ai didi

python 当行中的字符串从下一行获取数据时

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

我需要从匹配项下方的行获取数据

示例:

for line in file:
if 'string' in line:
doSomething(nextline)

我尝试了几种不同的方法。我总是得到回溯

最佳答案

如果你有一个文件对象,你可以这样做:

for line in f:
if SOMETEXT in line:
foo(next(f)) # not next(line), next(f)

但是这将导致您的 for 循环跳过下一行。相反,您可以迭代两行。

import itertools

with open(...) as f:
a, b = itertools.tee(f)
next(b) # skips a line in the "next line" iterator
for thisline, nextline in zip(a,b):
if SOMETEXT in thisline:
foo(nextline)

这实际上是 itertools recipe 上的pairwise 配方。文档中的页面。将该链接放在手边——它非常有用

def pairwise(iterable):
"s -> (s0,s1), (s1,s2), (s2, s3), ..."
a, b = tee(iterable)
next(b, None)
return zip(a, b)

关于python 当行中的字符串从下一行获取数据时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34214236/

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