Я использую цикл for для чтения файла координат построчно. В некоторых случаях мне нужна информация из следующей строки, чтобы выполнить математику в текущей строке, например формула расстояния.
Содержимое файла выглядит так:
X66.745 Y108.729
X67.255 Y108.584
X139.519 Y90.769
X142.494 Y90.161
X143.062 Y90.068
В нем есть другой контент, однако вот как выглядит полезный контент.
Мой текущий код:
def get_xy_coord(line):
x_coord = []
y_coord = []
line_list = line.split()
x_ = line_list[1].split('X')
x_ = x_[1]
x_coord.append(x_)
y_ = line_list[2].split('Y')
y_ = y_[1]
y_coord.append(y_)
return x_coord[-1:], y_coord[-1:]
### Load File
file_name = 'path' # put your filename here
with open(file_name, 'r+') as f:
contents = f.readlines()
for line in contents:
if 'X' in line:
x1, y1 get_xy_coord(line)
#get x2 , y2 to do distance formula
Я прочитал другой пост о получении следующей строки, но ни один из них не работал для моего приложения, например, опция next (), которая, я думаю, связана с тем, что я работаю с файлом, а не со списком значений. После использования содержимого строки и строки после нее, я все еще хотел бы просто продвинуться на 1 строку, как если бы она была обычной для итерации цикла.