hahadaxiao 发表于 2023-5-26 11:57:35

这段代码怎么修改可以全部都显示?

def query(keyword):
    with open('E:/log.txt','r',encoding='utf-8') as file:
      while True:
            line = file.readline()
            if line == '':
                break
            kw = line.split(':')
            if keyword in kw:
                return line
    return False
print(query('O'))


记录有两条记录都有 O的关键字记录,现在只要搜索到一条就返回并终止循环了,我想全部都显示,怎么修改呢?

isdkz 发表于 2023-5-26 11:57:59

可以将所有符合条件的记录存储在一个列表中,最后一起返回。修改后的代码如下:

def query(keyword):
    result = []
    with open('E:/log.txt', 'r', encoding='utf-8') as file:
      while True:
            line = file.readline()
            if line == '':
                break
            kw = line.split(':')
            if keyword in kw:
                result.append(line)
    return result if result else False

print(query('O'))


修改的地方是将符合条件的记录添加到了一个列表result中,如果最终result列表为空,则返回False 。
页: [1]
查看完整版本: 这段代码怎么修改可以全部都显示?