我的输入是文件中的大量字符.TXT
(超过 18,000 个字符),我需要在每两个字符后添加一个空格。如何编写代码以.TXT
再次在文件中提供输出?
像这样;
- 输入:
123456789
- 输出:
12 34 56 78 9
该enumerate()
函数将在这里为您完成繁重的工作,我们需要做的就是遍历字符串并使用模来拆分两个字符,下面是一个工作示例!
string_of_chars = "123456789101213141516171819"
spaced_chars = ""
for i, c in enumerate(string_of_chars):
if i % 2 == 1:
spaced_chars += c + " "
else:
spaced_chars += c
print(spaced_chars)
这将产生12 34 56 78 9
t = '123456789'
' '.join(t[i:i+2] for i in range(0, len(t), 2))
如果文件非常大,您不会希望将其全部读入内存,而是读取一个字符块,并将它们写入输出句柄,然后循环。
包括读/写:
write_handle = open('./output.txt', 'w')
with open('./input.txt') as read_handle:
for line in read_handle:
write_handle.write(' '.join(line[i:i+2] for i in range(0, len(line), 2)))
write_handle.close()
尝试以下
txt = '123456789'
print(*[txt[x:x+2] for x in range(0, len(txt), 2)])
输出
'12 34 56 78 9'