Контекст: я создал текстовый файл, с которым я могу прочитать некоторые данные об изотопах и их относительной численности. Я стремлюсь использовать этот файл для извлечения массы и численности для данного элемента.
Здесь показан фрагмент моего текстового файла:
001
H
2
1-0.99972
2-0.00028
002
He
2
3-0.0
4-1.0
003
Li
2
6-0.078
7-0.922
004
Be
1
9-1.0
005
B
2
10-0.204
11-0.796
Для данного элемента будет отображаться масса атомов c, следующая строка - символ, следующая, х количество естественных изотопов. Следующие x строк показывают массовое содержание изотопов. Они отступают на 2 пробела. После этого показывается следующий элемент.
Я пытаюсь написать функцию, которая принимает символ и выводит два списка для массы и численности. Следующий код находится там, где я сейчас нахожусь:
def abundance_info(symbol):
with open('/home/alletro/pytalys/talys_module/abundance', 'r') as abundance:
prev_line:str = ''
pro_prev_line: str = ''
mass_list = []
abundance_list = []
for line in abundance:
line = line.rstrip('\n')
if pro_prev_line == symbol:
if line[0] == ' ':
print(line)
line.split('-')
mass_list.append(line[0].lstrip('\s'))
abundance_list.append(line[1])
break
else:
pro_prev_line = prev_line
prev_line = line
return mass_list, abundance_list
Я, однако, изо всех сил пытаюсь выяснить, как это закончить sh. Моя проблема возникает на втором, если заявление. Я изо всех сил пытаюсь найти способ перебрать следующие строки, которые содержат отступ.