0

我的输入是文件中的大量字符.TXT(超过 18,000 个字符),我需要在每两个字符后添加一个空格。如何编写代码以.TXT再次在文件中提供输出?
像这样;

  • 输入:
 123456789 
  • 输出:
 12 34 56 78 9
4

3 回答 3

2

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)
于 2020-10-18T15:42:50.903 回答
2

这将产生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()
于 2020-10-18T15:46:29.717 回答
1

尝试以下

txt = '123456789'
print(*[txt[x:x+2] for x in range(0, len(txt), 2)])

输出

'12 34 56 78 9'
于 2020-10-18T15:49:31.050 回答