Спасибо за все полезные комментарии. Как обычно, код только начал работать, не знаю почему. Вот окончательный код, может быть, кто-то может определить, что произошло!
Данные выглядят как ниже. Скрипт ищет строку, содержащую ключевое слово и количество соответствующих строк / значений под ним. Затем скрипт определяет соответствующие начальную и конечную строки в файле / массиве, которые необходимо будет скопировать позже, и возвращает эту информацию в основную функцию.
TOPOGRAPHY: 25
0.000
0.000
0.000
0.000
...
XCOORD: 25
0.000
2.500
5.0
...
...
def find_ends(data, v):
for line_no, line in enumerate(data):
if line.startswith (v):
parts = line.split()
start = line_no
records = int(parts[1])
end = line_no + records
print(start, end, records)
return start, end, records
def main():
fr = open('file', 'r')
data = fr.readlines()
fr.close
arraynames = ["TOPOGRAPHY:", "XCOORD:"]
for v in arraynames:
start, end , records = find_ends(data, v)
print(start, end, records)
if __name__ == '__main__':
main()