0
Это текстовый файл мне нужно иметь дело с:вопрос о команде line.split
chr8 148401 153100 duplication
chr8 206001 207100 deletion
chr8 584401 589500 deletion
chr8 615101 616600 deletion
chr8 842601 843200 deletion
chr8 868901 869700 deletion
В основном я хочу, чтобы извлечь два числа, и сделать вычитание. Мой код выглядит следующим образом:
#!/usr/bin/python
import os,sys
file = open('/home/xxx/sge_jobs_output/rCEU.bed','r')
for line in file.readlines():
num1 = line.split()[1].split()[0]
num2 = line.split()[1].split()[1].split()[0]
num = int(num2)-int(num1)
print num
Я могу распечатать num1 успешно; но num2 не работает. Таким образом, мы не можем использовать более двух последовательно .split?
И ошибка как:
Traceback (most recent call last):
File "CNV_length_cal.py", line 8, in <module>
num2 = line.split()[1].split()[1].split()[0]
IndexError: list index out of range
Что здесь не так? Я действительно запутался в команде .split ... но я не могу найти учебник по этому вопросу ..thx
«num2 не работает» Не работает * как? * Вы получаете сообщение об ошибке? Если так, то, что это? –
Если вы хотите вызвать что-то для каждого перерыва, вы, вероятно, захотите использовать 'str.partition()' вместо 'str.split()' – SingleNegationElimination