gpt4 book ai didi

python - 如何在输出文件中返回输入文件的第 k 个元素?

转载 作者:行者123 更新时间:2023-12-05 08:37:34 24 4
gpt4 key购买 nike

我有一个文本输入文件:

AAA
BBB
CCC
DDD
EEE
FFF,FFF
GGG

我想将该文件的每第 k 行复制到一个输出文本文件中。例如,对于 k=2,它将是:

BBB
DDD
FFF FFF

对于k = 3,它应该是

CCC
FFF FFF

这是我到目前为止所做的,我正在努力寻找如何在函数中识别 K。你能帮帮我吗?

def ex1 (filen1, filen2, k):
fp1=open(filen1,'r') #open file to read from
fp2=open(filen2,'a') #open file to write to

count=1 #number of lines which have been copied

for line in fp1:
line = next(str(filen1))
list.append(line.strip())
fp1.readline
return list
fp1.close
fp2.close
ex1('Input file.txt', 'Output.txt')

最佳答案

您的代码甚至无法读取输入文件的内容。如果你的文件不是很大,你会遇到内存问题,你可以这样做。打开第一个文件并将所有行读入列表,其中每个条目都是一个新行。也尝试使用 with 语句打开文件,因为它会自动再次关闭文件(通常这是更好的做法)。

然后您只需执行相反的操作并将行写入另一个文件,但是您只需索引行列表,使其从第 k-1 个元素开始并且只包含每个第 k 个元素。

k = 2

with open(filen1, 'r') as input_file:
lines = input_file.readlines()

with open(filen2, 'w') as output_file:
for line in lines[k-1::k]:
output_file.write(line)

关于python - 如何在输出文件中返回输入文件的第 k 个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65354039/

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