Встроенная сортировка стабильна, поэтому по умолчанию равные значения остаются в порядке.
import operator
with open('filename', 'r') as f:
sorted_lines = sorted(f, key=operator.itemgetter(slice(0, 24)))
В этот момент sorted_lines
будет список отсортированных строк. Чтобы заменить старый файл, создайте новый файл, вызовите new_file.writelines(sorted_lines)
, затем переместите новый файл поверх старого.