Срез файла на диске в NumPy
Срез массива, открытого
функцией memmap, смотрит
на выбранные ячейки файла. Если файл
открыт для записи, изменение среза
попадает обратно на диск.
Создадим ряд, возьмём середину и заменим в ней первую ячейку:
import numpy as np
block = np.memmap('block.dat', dtype=np.int64, mode='w+', shape=(4,))
block[:] = [1, 2, 3, 4]
block.flush()
part = block[1:3]
part[0] = 9
block.flush()
print(block) # выведет [1 9 3 4]
Создайте файл scores.dat
из ряда [5, 6, 7, 8].
Возьмите две средние ячейки,
запишите в первую из них 0
и выведите весь ряд.
Создайте файл scores.dat
из ряда [10, 20, 30].
Замените последний элемент через
срез из одной ячейки на 40
и выведите ряд.