Это не файл один открывается, это данные в классах совпадают.
class samolet():
def __init__(self,d=[]):
self.data = d#лист данных(по строчно
Питон когда видит определение функции создает значение для аргумента по умолчанию - пустой список.
Далее в цикле:
Он видит - аргумента нет. Производит инициализацию по умолчанию. А именно тем единственным списком который создал при чтении определения класса.
Поэтому все данные вы запихиваете в один массив, разделяемый во всех экземплярах класса samolet. Это кстати обычная техника для python Аналог static из C++.
Ваш код сильно режет мой глаз. Может так:
#!/bin/env/python
# -*- coding:utf-8 -*-
import numpy as np
import glob # для работы с директорией
def main():
klas_list = [samolet(i) for i in glob.glob("r*.txt")]# список всех классов
## блок проверки__________________________________________
print(klas_list)
class samolet():
def __init__(self,file_name):
with open(file_name,"r") as f:
self.name, tmp, self.tag = f.readline().split()
self.data = np.loadtxt(f)
self.pos_x, self.pos_x, self.pos_x,tmp = self.data.T
def __repr__(self):
return self.name+" \n"+str(self.data)
if __name__ == "__main__":
main()