Если я это сделаю, что мне следует сделать, чтобы уменьшить размер отдельного файла? Сжатие и распаковка при поиске и отображении?
Ну, это зависит от того, ПОЧЕМУ вы хотите уменьшить размер. Если нужно минимизировать использование диска пространства (в наши дни это довольно странная цель), то лучше всего использовать zip / unzip.
Однако, если цель состоит в том, чтобы минимизировать использование памяти, то лучший способ - разделить данные словаря на более мелкие порции (например, проиндексированные по первой букве) и загружать только нужные порции.
Как люди обычно форматируют текстовые данные, необходимые для приложения словаря?
ИМХО обычный подход - это то, что вы получаете в качестве логического завершения подхода, упомянутого выше (секционированные и индексированные данные): с использованием внутренней базы данных , которая позволяет вам получать только те данные, которые действительно необходимо.
В вашем случае, вероятно, что-то простое, такое как файлы DBite / DBM SQLite или Berkley, должно быть в порядке.
Приносит ли мне какие-либо дополнительные преимущества, кроме устранения проблемы с открытием файла Падре, если я перенесу все данные из раздела DATA в отдельный текстовый файл?
Это в некоторой степени зависит от вашего использования ... если это неизменяемый сценарий, которым пользуются 3 человека, это может не принести ощутимых преимуществ.
В целом, это значительно облегчит обслуживание (вы можете изменить словарь и логику кода независимо друг от друга - подумайте, например, файл описаний вирусов или исполняемый файл антивируса для реального мира).
Это также уменьшит потребление памяти процесса, если вы будете использовать методы, упомянутые выше.