gpt4 book ai didi

python - 在 python 中的字符串上更改 "for each"循环的分隔符

转载 作者:太空狗 更新时间:2023-10-30 02:32:34 25 4
gpt4 key购买 nike

我需要通过逐行流式读取 python 中的输入文本文件。这意味着将文本文件逐行加载而不是一次全部加载到内存中。但是我的行分隔符不是空格,它们是任意字符。

这是 Stack Overflow 上逐行加载文件的方法:

with open("log.txt") as infile:
for line in infile:
do_something_with(line)

以上是完美的,但是我需要将分隔符从空格更改为不同的字符。

如何做到这一点?谢谢。

最佳答案

import re
def open_delimited(filename, delimiter, chunksize=1024, *args, **kwargs):
with open(filename, *args, **kwargs) as infile:
remainder = ''
for chunk in iter(lambda: infile.read(chunksize), ''):
pieces = re.split(delimiter, remainder+chunk)
for piece in pieces[:-1]:
yield piece
remainder = pieces[-1]
if remainder:
yield remainder

for line in open_delimited("log.txt", delimiter='/'):
print(repr(line))

关于python - 在 python 中的字符串上更改 "for each"循环的分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17508697/

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