Используйте метод file.tell().
Пример:
    
    with open("file.txt", "r") as file:
        print(file.tell()) # Выведет 0 (начало файла)
        file.read(10)
        print(file.tell()) # Выведет 10 (после чтения 10 байт)
    
  
tell(). Этот метод возвращает целое число, представляющее текущую позицию указателя в файле в байтах относительно начала файла.
  Пример при чтении:
  with open("my_file.txt", "r") as f:
    print("Начальная позиция:", f.tell())  # Вернет 0
    data = f.read(10)
    print("Прочитано:", data)
    print("Текущая позиция:", f.tell())  # Вернет 10
    f.seek(0) # Вернуться в начало файла
    print("Позиция после seek(0):", f.tell()) # Вернет 0
  Пример при записи:
  with open("my_file.txt", "w") as f: # Открываем файл для записи, содержимое будет перезаписано
    print("Начальная позиция:", f.tell())  # Вернет 0
    f.write("Hello, world!")
    print("Текущая позиция:", f.tell())  # Вернет 13 (количество байт в "Hello, world!")
    f.seek(5) # Перейти к 6-ому байту
    f.write("Python")
    print("Текущая позиция:", f.tell()) # Вернет 11 - позиция после вставки "Python", учитывая длину "Hello" (5 символов) + длина "Python"(6 символов).
  Важно:
tell() можно использовать как с текстовыми, так и с бинарными файлами.seek() позволяет изменить позицию указателя в файле на произвольное значение. Применяется для случайного доступа к файлу.  Параметры seek(offset, whence): offset - смещение, whence - точка отсчета (0 - начало, 1 - текущая позиция, 2 - конец файла). Если whence не указан, то по умолчанию он равен 0.seek() с whence, отличным от 0, может привести к непредсказуемым результатам, особенно если файл содержит многобайтовые символы (например, UTF-8), поскольку может нарушить целостность символов.  В таких случаях рекомендуется оперировать позициями, полученными от tell().Когда это может быть полезно?