如何在 python 中的连续单词中插入制表符?

How to insert tab in a sequential word in python?

我遇到一个非常大的文本文件的问题,如下所示:

A T T A G C A
A AT A G C A
T TT AG G A
G T T A G C A

每个字符都被\t分割了,但是有些字符是连在一起的,我想在这些序列中添加\t。我需要的是如下:

A T T A G C A
A A T A G C A
T T T A G C A
G T T A G C A

我可以在 Python 做什么?而且我需要充分利用我的电脑内存来加快这个过程。

我可能会像这样写一份原始文件的副本。

with open('in.txt') as input, open('out.txt', 'w') as output:
    prev_char = None
    while True:
        c = input.read(1)
        if not c:
            break
        if prev_char and prev_char != '\t' and c != '\t':
            output.write('\t')
        output.write(c)
        prev_char = c

假设输入存储在 in.txt 中,一个优雅的解决方案是

import re

with open('in.txt') as fin, open('out.txt', 'w') as fout:
    for line in fin:
        fout.write('\t'.join(re.findall('\w', line))+'\n')

输出存储在文件out.txt中。