🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.python
Article #3

Re: Przechowywanie danych

#3
From: Wojtek Walczak
Date: Fri, 29 Nov 2002 15:33
79 lines
2720 bytes
Dnia Thu, 28 Nov 2002 21:21:41 +0100, Krzysztof Stachlewski napisał(a):
> Ale tak poza tym, to XML się nadaje. Chyba, że miałbyś
> zamiar przechowywać dane w bazie danych - ale to byłaby dopiero
> armata... Może jakaś plikowa baza danych byłaby dobra?
W sumie to mozna wykorzystac pythonowa idee modulow.
Ot, maly przyklad:

--- py.py ---
#!/usr/bin/env python

import sys, os.path
import blah

filename = "blah.py"

tmp_list = []

def zapisz_do_blah():
   global tmp_list
   try:
      if os.path.isfile(filename):
         os.unlink(filename)
      w = open(filename, 'w+')
      w.write("lista = [\n")
      for i in tmp_list:
         i = '     \''+i+'\''+','+'\n'
         w.write(i)
      w.write("]\n")
      w.close()
   except:
      print 'zapisz_do_blah() error:',sys.exc_info()[1]
      sys.exit()

def czytaj_z_blah():
   global tmp_list
   blah = reload(__import__(filename[:4]))

   tmp_list = []

   for i in blah.lista:
      tmp_list.append(i)

   return tmp_list

def dodaj_do_blah(x):
   global tmp_list
   tmp_list.append(x)
   zapisz_do_blah()

def usun_z_blah(x):
   global tmp_list
   tmp_list.remove(x)
   return tmp_list

def main():
   global tmp_list
   czytaj_z_blah()

   dodaj_do_blah("gminiczek")

   print czytaj_z_blah()

   zapisz_do_blah()

if __name__ == "__main__":
   main()
-------------

Tak wiec robimy plik *.py (tutaj blah.py), ktory dla pythona jest
modulem, a dla nas baza danych (w tym przypadku jest to lista, ale
smialo mozna kombinowac ze slownikami). W sumie to taka metoda jest
prosta, ale tworzysz ja od podstaw, wiec trzeba od paru rzeczy pomyslec,
zanim bedzie to mozna uznac za stabilne.

HTH.

-- 
[ ] gminick (at) underground.org.pl  http://gminick.linuxsecurity.pl/ [ ]
[ "Po prostu lubie poranna samotnosc, bo wtedy kawa smakuje najlepiej." ]
Technical Details
Message-ID: <slrnaufa97.99.gminick@hannibal.localdomain>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!news.onet.pl!newsfeed.tpinternet.pl!news.tpi.pl!not-for-mail
References: <slrnaucobt.oo.m00se@vilya.fnord.pl> <as5tsi$mtb$1@SunSITE.icm.edu.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!news.onet.pl!newsfeed.tpinternet.pl!news.tpi.pl!not-for-mail
From: Wojtek Walczak <gminick@hacker.pl>
Newsgroups: pl.comp.lang.python
Subject: Re: Przechowywanie danych
Date: Fri, 29 Nov 2002 15:33:05 +0000 (UTC)
Organization: tp.internet - http://www.tpi.pl/
Lines: 79
Message-ID: <slrnaufa97.99.gminick@hannibal.localdomain>
References: <slrnaucobt.oo.m00se@vilya.fnord.pl> <as5tsi$mtb$1@SunSITE.icm.edu.pl>
NNTP-Posting-Host: pb135.kepno.sdi.tpnet.pl
Mime-Version: 1.0
X-Trace: news.tpi.pl 1038583985 6197 213.25.218.135 (29 Nov 2002 15:33:05 GMT)
X-Complaints-To: usenet@tpi.pl
NNTP-Posting-Date: Fri, 29 Nov 2002 15:33:05 +0000 (UTC)
User-Agent: slrn/0.9.7.3 (Linux)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit