gpt4 book ai didi

python - 更改文本文件的内容并制作具有相同格式的新文件

转载 作者:太空宇宙 更新时间:2023-11-04 08:31:16 26 4
gpt4 key购买 nike

我有一个包含很多部分的大文本文件。每部分有 4 行,下一部分在上一部分之后立即开始。每部分的第一行@开头,第二行是字符的序列第三行是一个+第四行也是一个字符序列

小例子:

@M00872:462:000000000-D47VR:1:1101:15294:1338 1:N:0:ACATCG
TGCTCGGTGTATGTAAACTTCCGACTTCAACTGTATAGGGATCCAATTTTGACAAAATATTAACGCTTATCGATAAAATTTTGAATTTTGTAACTTGTTTTTGTAATTCTTTAGTTTGTATGTCTGTTGCTATTATGTCTACTATTCTTTCCCCTGCACTGTACCCCCCAATCCCCCCTTTTCTTTTAAAAGTTAACCGATACCGTCGAGATCCGTTCACTAATCGAACGGATCTGTCTCTGTCTCTCTC
+
BAABBADBBBFFGGGGGGGGGGGGGGGHHGHHGH55FB3A3GGH3ADG5FAAFEGHHFFEFHD5AEG1EF511F1?GFH3@BFADGD55F?@GFHFGGFCGG/GHGHHHHHHHDBG4E?FB?BGHHHHHHHHHHHHHHHHHFHHHHHHHHHGHGHGHHHHHFHHHHHGGGGHHHHGGGGHHHHHHHGHGHHHHHHFGHCFGGGHGGGGGGGGFGGEGBFGGGGGGGGGFGGGGFFB9/BFFFFFFFFFF/

我想更改每个部分的第 2 行和第 4 行,并制作一个结构相似的新文件(每个部分 4 行)。事实上,我想保留前 65 个字符(第 2 行和第 4 行)并删除其余字符。小示例的预期输出如下所示:

@M00872:462:000000000-D47VR:1:1101:15294:1338 1:N:0:ACATCG
TGCTCGGTGTATGTAAACTTCCGACTTCAACTGTATAGGGATCCAATTTTGACAAAATATTAACG
+
BAABBADBBBFFGGGGGGGGGGGGGGGHHGHHGH55FB3A3GGH3ADG5FAAFEGHHFFEFHD5A

我写了下面的代码:

infile = open("file.fastq", "r")
new_line=[]
for line_number in len(infile.readlines()):
if line_number ==2 or line_number ==4:
new_line.append(infile[line_number])

with open('out_file.fastq', 'w') as f:
for item in new_line:
f.write("%s\n" % item)

但它没有返回我想要的。如何修复它以获得预期的输出?

最佳答案

此代码将实现您想要的 -

from itertools import islice
with open('bio.txt', 'r') as infile:
while True:
lines_gen = list(islice(infile, 4))
if not lines_gen:
break
a,b,c,d = lines_gen
b = b[0:65]+'\n'
d = d[0:65]+'\n'
with open('mod_bio.txt', 'a+') as f:
f.write(a+b+c+d)

它是如何工作的?
正如您提到的,我们首先制作一个一次给出 4 行的生成器。然后我们将这些行打开为单独的行 a,b,c,d 并执行字符串切片。最终我们加入该字符串并将其写入一个新文件。

关于python - 更改文本文件的内容并制作具有相同格式的新文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52760017/

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