如何在.txt文件中每两个字符后添加一个空格?

时间:2020-10-18 15:36:39

标签: python txt

我输入的内容是const final = users.map(({ label, key }) => ({ name: label, value: results.map(r => r[key]).filter(el => el != null).reduce((prev, curr) => parseInt(prev) + parseInt(prev); })); 文件中的大量字符(超过18,000个字符),我需要在每两个字符后添加一个空格。如何编写代码以再次在.TXT文件中提供输出?
像这样;

  • 输入:
.TXT
  • 输出:
 123456789 

3 个答案:

答案 0 :(得分:2)

enumerate()函数在这里将为您完成繁重的工作,我们要做的就是遍历字符串并使用取模来拆分两个字符,下面是一个有效的示例! / p>

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)

答案 1 :(得分: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()

答案 2 :(得分:1)

尝试以下

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

输出

'12 34 56 78 9'
相关问题