Вы можете использовать пустой список или пустой словарь для сохранения результатов.
В первом случае вы должны создать пустой список данных первого и следующего добавления. Следовательно, i-й элемент в списке будет соответствовать (i + 1) -ому исходному файлу.
import numpy as np
import os
my_data = []
for shot in range(1,10):
#get the first txt:
txt_file = os.path.join(path,'shot'+str(shot)+'.txt')
#get data from txt:
data = np.genfromtxt(txt_file, skip_header = 4)
#append data
my_data.append(data)
first_source_data = my_data[0]
Второй вариант для вас, если вы хотите иметь доступ, используя имя файла.
import numpy as np
import os
my_data = {}
for shot in range(1,10):
#gen filename
filename = 'shot'+str(shot)+'.txt'
#get the first txt:
txt_file = os.path.join(path, filename)
#get data from txt:
data = np.genfromtxt(txt_file, skip_header = 4)
# now save it to the list (or np.array):
my_data[filename] = data
first_source_data = my_data['shot1.txt']