提问人:Bismah Ghafoor 提问时间:10/9/2023 最后编辑:Bismah Ghafoor 更新时间:10/9/2023 访问量:52
如何在 Python 中使用具有定义索引的变量拼接字符串?
how can you splice a string using a variable with defined indexes in Python?
问:
我有 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
但同样,您只能使用错误消息所示的整数索引。
答: 暂无答案
评论
exon = contents[start:end]
变量和变量是完全可以的,但它们必须是整数变量。您传递了字符串。start
end
exon = contents.split(start, end)
在这段代码中,和都是字符串。使用字符串参数调用是没有意义的。你的意图是什么?start
end
split()