如何在 Python 中使用具有定义索引的变量拼接字符串?

how can you splice a string using a variable with defined indexes in Python?

提问人:Bismah Ghafoor 提问时间:10/9/2023 最后编辑:Bismah Ghafoor 更新时间:10/9/2023 访问量:52

问:

我有 2 个文件,genomic_dna,txt 和 exons.txt。

第一个文件包含感兴趣的基因组 DNA 序列,第二个文件包含外显子的起始密码子和终止密码子。

我想导入这两个文件并将外显子从 DNA 序列中拼接出来,然后将它们连接在一起,但我不确定如何拼接它。

起初,这是我尝试过的,它有效,但它没有使用第二个文件:

#read the file containing the genomic dna
file = open("genomic_dna.txt", "r")

#create the file object
contents =  file.read()

#extract the exons from the genomic dna
ex1 = contents[5:58]
ex2 = contents[72:133]
ex3 = contents[190:276]
ex4 = contents[340:398]

#concatenate the exons
DNA_Exons = ex1 + ex2 + ex3 + ex4

#open a new file for the exons
file2 = open("DNA_exons.txt", "w")
#write the exons in the new file
file2.write(DNA_Exons)

然后我尝试使用第二个文件作为代码的一部分,但我不断收到错误消息;

#read the file containing the genomic dna
file2 = open("exons.txt", "r")

#create the file object
contents =  file.read()
contents2 = file2.read()

#get the exon positions from exons.txt
for line in file2:
        position_list = line.split(",")
        start = position_list[0]
        end = position_list[1]

with open("genomic_dna.txt", "r") as file:
        contents = file.read()
        exon = contents.split(start, end)
        print(str(exon))
TypeError: 'str' object cannot be interpreted as an integer

但是 .split() 函数只能包含整数而不是变量,有没有办法解决这个问题,因为它不断抛出错误?我也尝试过这样的正常拼接:

exon = contents[start:end]
TypeError: slice indices must be integers or None or have an __index__ method

但同样,您只能使用错误消息所示的整数索引。

Python 文件 for 循环 切片 拼接

评论

0赞 John Gordon 10/9/2023
如错误消息所示什么错误消息?我没有看到错误消息。请将其添加到您的帖子中。
0赞 nate-thegrate 10/9/2023
您能否在问题中也包含错误消息?
0赞 John Gordon 10/9/2023
我认为你混淆了拆分切片......
2赞 John Gordon 10/9/2023
exon = contents[start:end]变量和变量是完全可以的,但它们必须是整数变量。您传递了字符串。startend
1赞 John Gordon 10/9/2023
exon = contents.split(start, end)在这段代码中,和都是字符串。使用字符串参数调用是没有意义的。你的意图是什么?startendsplit()

答: 暂无答案