gpt4 book ai didi

python - 从文件中检索文本 block

转载 作者:太空宇宙 更新时间:2023-11-03 18:34:07 25 4
gpt4 key购买 nike

在一个文件中,我有由空行分隔的查询 block (可以是一个或多个空行)。有没有更好的方法将查询放入列表中?

前文件:

select * from tbA
where colA= '2'

select * from tbB
where colB = 'c'
order by colc



select * from tbC

到目前为止我的代码:

queries = list()
with open(sql_file_path, 'rb') as f:
lines = f.readlines()
i = 0
while i < len(lines):
query = ''
while i < len(lines) and not lines[i].isspace():
query += lines[i]
i += 1
while i < len(lines) and lines[i].isspace():
i += 1
queries.append(query.strip())

我正在寻找的结果是一个包含完整查询的列表,而不仅仅是查询的一行。

最佳答案

with open(path) as f:
lines = [line.strip() for line in f if line]

列表比较将逐行迭代您的文件,如果该行不为空,则将其构建到列表中。如果为空,则会忽略它。

根据您编辑的文本,只需在空行上拆分(即 \n\n)。

with open(path) as f:
lines = [query for query in f.read().split("\n\n") if query]

您也可以通过正则表达式来做到这一点:

import re

with open(path) as f:
queries = re.split(r"\n\n+",f.read())

关于python - 从文件中检索文本 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21895907/

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