gpt4 book ai didi

python - 读取两行的值并用python写入一行

转载 作者:行者123 更新时间:2023-11-28 21:43:43 27 4
gpt4 key购买 nike

我有一个这种格式的文件:

611    2856     618    2582   94075   94107   94065   94068
101071 94104
598 2856 618 611 93995 94107 93992 93991
94075 94065
612 2834 2821 2812 94087 101577 94085 94081
101558 101557

我需要阅读这些行并重写它们:

611    2856     618    2582   94075   94107   94065   94068 101071   94104
598 2856 618 611 93995 94107 93992 93991 94075 94065
612 2834 2821 2812 94087 101577 94085 94081 101558 101557

我试过这样的:

f2 = open('new_file.txt', 'w')
f1 = open('old_file.txt')
lines = f1.readlines()
for i, line in enumerate(lines):
print(repr(line))
f2.write(line)
i = i+1
f1.close()
f2.close()

但是它不工作,因为它每行都重新写入。我需要阅读两行并将它们写在一行中。有什么建议吗?

最佳答案

您不需要将行读入列表,也不需要弄乱行号,您可以直接遍历文件行:

with open('oldfile.txt') as fin, open('newfile.txt', 'w') as fout:
for line in fin:
fout.write(line[:-1] + ' ' + next(fin))

newfile.txt 的内容

611    2856     618    2582   94075   94107   94065   94068 101071   94104
598 2856 618 611 93995 94107 93992 93991 94075 94065
612 2834 2821 2812 94087 101577 94085 94081 101558 101557

line[:-1] + ' '

删除长行末尾的换行符,并用一个空格代替;我很确定这比 line.replace('\n', ' ') 快,但我还没有计时。

与 Graipher 的解决方案一样,如果文件有偶数行,则不会复制最后一行,但我认为这对您的数据来说不是问题。 p>

关于python - 读取两行的值并用python写入一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41828949/

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