Уведомления

Группа в Telegram: @pythonsu

#1 Март 7, 2009 23:28:14

Ockonal
От:
Зарегистрирован: 2009-03-05
Сообщения: 85
Репутация: +  0  -
Профиль   Отправить e-mail  

Запись в файл в определенную строку

Здравствуйте, у меня в программе есть конфиг-файл, выглядит примерно так:

# Main window settings
StartWindowOpacity = 0.6

DefaultPositionX = 10
DefaultPositionY = 10

BackgroundImageName = F026.png
Чтение параметров не проблема, а вот их перезапись…

Сейчас делаю что-то такое:
    def changeParameterValue(self, sParameter, sChangeTo):
_configText = open(self._sPath, 'r')
lines = _configText.readlines()
_numOfLine = 0
for temp in lines:
_numOfLine += 1
if sParameter in temp:
print _numOfLine
Как видите, я получаю в _numOfLine номер строки, в которой находится нужный мне параметр. А как перезаписать его? Допустим, как записать в файл только в ту строку?



Офлайн

#2 Март 7, 2009 23:46:35

Griffon
От: Ukrain, Zaporozhie
Зарегистрирован: 2009-03-04
Сообщения: 324
Репутация: +  11  -
Профиль   Отправить e-mail  

Запись в файл в определенную строку

А что мешает
lines = “my param\n”
И затем записать _configText.writelines(lines)
?



Офлайн

#3 Март 7, 2009 23:57:21

Ockonal
От:
Зарегистрирован: 2009-03-05
Сообщения: 85
Репутация: +  0  -
Профиль   Отправить e-mail  

Запись в файл в определенную строку

Я думал о том, чтобы все заново переписывать… но может есть проще вариант? Да и оптимальней будет.



Офлайн

#4 Март 8, 2009 00:41:52

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Запись в файл в определенную строку

Текстовый файл - неструктурированное хранилище. В отличие, скажем, от базы данных.
Проще, оптимальней и безопасней - перезаписать его целиком.



Офлайн

#5 Март 8, 2009 00:50:03

Ockonal
От:
Зарегистрирован: 2009-03-05
Сообщения: 85
Репутация: +  0  -
Профиль   Отправить e-mail  

Запись в файл в определенную строку

Спасибо, теперь понял. А стоит ли ради этого использовать базу? Есть там какие в комплекте?



Офлайн

#6 Март 8, 2009 03:38:42

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Запись в файл в определенную строку

sqlite3 - стандартный модуль.
Другое дело, что файл настроек лучше хранить в текстовом виде.
Чтобы его можно было подправить в случае чего на любой машине первым попавшимся редактором.

Есть опять же стандартный вполне удобный модуль ConfigParser - специально для текстовых конфигурационных файлов.
Советую посмотреть.



Офлайн

#7 Март 8, 2009 07:00:42

Ockonal
От:
Зарегистрирован: 2009-03-05
Сообщения: 85
Репутация: +  0  -
Профиль   Отправить e-mail  

Запись в файл в определенную строку

Спасибо всем, кто ответил. Думаю, что темя себя исчерпала.



Офлайн

#8 Март 28, 2009 21:47:18

AleXanrd
От:
Зарегистрирован: 2008-04-05
Сообщения: 47
Репутация: +  0  -
Профиль   Отправить e-mail  

Запись в файл в определенную строку

Доброго времени суток.
Подскажите пожалуйста способ обновления строк БД(sqlite)
Допустим есть: Фамилия, Имя, Отчество, фамилия поменялась, как єти изменения внести в БД?
Заранее благодарен!



Офлайн

#9 Март 28, 2009 23:33:40

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Запись в файл в определенную строку

AleXanrd
SQL-запросом.

ЗЫ: напоминаю - новый вопрос - отдельная тема.

Отредактировано (Март 28, 2009 23:34:36)

Офлайн

#10 Март 29, 2009 08:41:31

AleXanrd
От:
Зарегистрирован: 2008-04-05
Сообщения: 47
Репутация: +  0  -
Профиль   Отправить e-mail  

Запись в файл в определенную строку

Спасибо за направление, в котором надо двигаться, а то вчера так перегрелся с этими базами, что голова перестала думать. Сегодня вот нашел сайт где про запросы и идет речь http://kbyte.ru/articles/ShowArticle.aspx?id=47&lang=ru возможно еще кому то пригодится.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version