gpt4 book ai didi

python - 在 python 中复制文本文件的最后三行?

转载 作者:太空狗 更新时间:2023-10-30 00:28:20 24 4
gpt4 key购买 nike

我是 python 的新手,它处理列表中的变量和变量数组的方式对我来说很陌生。我通常会将一个文本文件读入一个向量,然后通过确定向量的大小将最后三个复制到一个新的数组/向量中,然后使用 for 循环将最后三个大小的复制函数循环到一个新数组中。

我不明白 for 循环在 python 中是如何工作的,所以我不能那样做。

到目前为止我有:

    #read text file into line list
numberOfLinesInChat = 3
text_file = open("Output.txt", "r")
lines = text_file.readlines()
text_file.close()
writeLines = []
if len(lines) > numberOfLinesInChat:
i = 0
while ((numberOfLinesInChat-i) >= 0):
writeLine[i] = lines[(len(lines)-(numberOfLinesInChat-i))]
i+= 1

#write what people say to text file
text_file = open("Output.txt", "w")
text_file.write(writeLines)
text_file.close()

最佳答案

要有效地获取文件的最后三行,请使用deque:

from collections import deque

with open('somefile') as fin:
last3 = deque(fin, 3)

这节省了将整个文件读入内存以切掉您实际上不需要的部分。

为了反射(reflect)您的评论 - 您的完整代码将是:

from collections import deque

with open('somefile') as fin, open('outputfile', 'w') as fout:
fout.writelines(deque(fin, 3))

关于python - 在 python 中复制文本文件的最后三行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15647467/

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