как правильно синхронизировать данные с файлами?, хочу узнать как принято это делать |
Здравствуйте, гость ( Вход | Регистрация )
как правильно синхронизировать данные с файлами?, хочу узнать как принято это делать |
deex |
29.3.2011, 15:12
Сообщение
#1
|
Студент Группа: Участник Сообщений: 45 Регистрация: 12.3.2009 Пользователь №: 608 Спасибо сказали: 0 раз(а) Репутация: 0 |
долго думал в какую ветку это писать, остановился здесь
есть программа к ней прилагается, скажем, десяток текстовых файлов в файлах информация, построчно вся суть софта в том, чтобы эту информацию обрабатывать с одной стороны все просто: при запуске грузим все файлы в память, предоставляем интерфейс для их редактирования и кнопку Сохранить по окончании какой-то части работы автосохраняются в файлы но тут уже начинаются проблемы: - если прога вылетит - в файлах останутся старые данные, при перезапуске все начнется по новому - если файлы большие - грузить их все в память неправильно. а они будут большие - некоторые из них просто должны накапливать информацию, редактировать их не надо - следовательно и загружать тоже я новичок в десктоп софте, поэтому мой первый проект, который работал с файлами, сейчас похож на инвалида передового ракетного производства, у которого костыли торчат отовсюду. начинаю делать свой второй проект и опять впадаю в ступор - как же правильно организовать эту работу? также, хочу заметить, что я продаю софт людям разного интеллектуального достатка, поэтому интересует наиболее универсальное решение, которое будет понятным и удобным большинству Вообще, я хочу чтобы вы поделились секретом, как это устроено у вас (загрузка, синхронизация, использование по мере работы) Но также напишу несколько конкретных вопросов: - в какой момент стоит сохранять данные в файл? только при нажатии на кнопку, постоянно при работе, при переключении вкладок софта(делал и такое ) - нужен ли людям редактор файлов в проге? или заставлять их править текстовые файлы будет правильнее и более универсально? - стоит ли позволять указывать внешние файлы для работы и запоминать пути к ним? (т.е. надо указать список имейлов - человек нажал на кнопку и в стд окне выбора файла - указал свой файл с имейлами, софт запоминает этот путь и всегда использует тот файл) - если файл весит допустим 5 мб текста и я весь его гружу в память - плохо ли это? с учетом того, что мы живем в эпоху террабайтных винтов и многогигабайтной оперативки. Может ли софт от этого тормозить? Добавлю, что пишу я на python 3.2 + pyqt4 |
|
|
PAFOS |
29.3.2011, 15:21
Сообщение
#2
|
Активный участник Группа: Участник Сообщений: 258 Регистрация: 27.12.2010 Из: Дмитров Пользователь №: 2309 Спасибо сказали: 29 раз(а) Репутация: 8 |
Цитата - если прога вылетит - в файлах останутся старые данные, при перезапуске все начнется по новому Многие современные редакторы создают теневую копию файла и по таймеру сохраняют туда наработки юзера. Например редаткор при открытии файла создает его скрытую копию и через интервалы времени (их можно указать в настройках) записывает туда изменения. Когда юзер сохраняет наработки, то прога удаляет эту копию. В случае аварийного завершения работы, при следующем запуске, прога, при открытии файла ищет его скрытую копию. Если такая копия есть - предлагает работать с ней или начать все сначала. |
|
|
deex |
29.3.2011, 18:37
Сообщение
#3
|
Студент Группа: Участник Сообщений: 45 Регистрация: 12.3.2009 Пользователь №: 608 Спасибо сказали: 0 раз(а) Репутация: 0 |
спасибо, тоже вариант, который надо обдумать
Сообщение отредактировал deex - 29.3.2011, 18:37 |
|
|
Текстовая версия | Сейчас: 4.12.2024, 2:47 |