![]() | |
| | #1 (permalink) |
| Üye Üyelik Tarihi: 02/2007
Mesaj: 31
|
Selam arkadaşlar... shelve kullanarak basit bir veri tabanı sistemi geliştirmeye çalışıyorum ve projede şöyle bir sorunla karşılaştım; shelve ile hazırladığım veritabanını okutuyorum ve okuttuğum verileri "copy" kütüphanesi sayesinde kopyalamaya çalışıyorum fakat olmuyor... örnek: Kod: >>> import shelve,copy
>>> db=shelve.open("deneme.db")
>>> db["Adana"]=["seyhan","yüreğir","karataş"]
>>> vt=copy.copy(db)
>>> db.close()
>>> vt
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
vt
File "C:\Python25\lib\UserDict.py", line 167, in __repr__
return repr(dict(self.iteritems()))
File "C:\Python25\lib\UserDict.py", line 105, in iteritems
for k in self:
File "C:\Python25\lib\UserDict.py", line 92, in __iter__
for k in self.keys():
File "C:\Python25\lib\shelve.py", line 92, in keys
return self.dict.keys()
File "C:\Python25\lib\bsddb\__init__.py", line 251, in keys
self._checkOpen()
File "C:\Python25\lib\bsddb\__init__.py", line 212, in _checkOpen
raise error, "BSDDB object has already been closed"
DBError: BSDDB object has already been closed
>>>
Teşekkürler... |
| | |
| | #2 (permalink) |
| Eski Cevizci Üyelik Tarihi: 05/2004
Mesaj: 792
|
Soyle birsey yazdim, belki isine yarayabilir: Kod: # not: yaratilan bir Kapatici nesnesine baska bir referans
# olmasin! Gerektiginde kopyasini alin. Mesela:
#
# x = Kapatici(kapanan)
#
# y = x # hatali!
# y = x.kopyala() # dogru
#
# func(x) # hatali!
# func(x.kopyala()) # dogru
#
# arr = [x, x] # hatali!
# arr = [x.kopyala(), x.kopyala()] # dogru
class Kapatici:
def __init__(self, kapanan, kopya_sayisi=None):
self.kapanan = kapanan
if kopya_sayisi != None:
self.kopya_sayisi = kopya_sayisi
else:
self.kopya_sayisi = [1]
def kopyala(self):
kopya = Kapatici(self.kapanan, self.kopya_sayisi)
self.kopya_sayisi[0] += 1
return kopya
def __del__(self):
self.kopya_sayisi[0] -= 1
if self.kopya_sayisi[0] == 0:
self.kapanan.close()
# deneme
class DB:
def __init__(self, isim):
self.isim = isim
print "%s: init" % self.isim
def close(self):
print "%s: kapandi" % self.isim
def birsey_yap(self):
print "%s: birsey_yap" % self.isim
def f(db_kapatici, bir_daha=False):
db_kapatici.kapanan.birsey_yap()
if bir_daha:
f(db_kapatici)
def dene():
x = Kapatici(DB("DB_1"))
y = Kapatici(DB("DB_2"))
xx = x.kopyala()
f(xx)
del x
# del xx
f(y, True)
|
| | |
| | #4 (permalink) |
| Eski Cevizci Üyelik Tarihi: 05/2004
Mesaj: 792
|
Merhaba, Yukarida hizlica aklima gelen birseyi yazmistim, ama sag kulagini sol elinle gosterir gibi olmus. Lutfen yukaridakini yazmadigimi farzedin ![]() Soyle birsey olabilir: Kod: class Kapatici:
def __init__(self, kapanan):
self.kapanan = kapanan
def __del__(self):
self.kapanan.close()
# deneme
class DB:
def __init__(self, isim):
self.isim = isim
print "%s: init" % self.isim
def close(self):
print "%s: kapandi" % self.isim
def birsey_yap(self):
print "%s: birsey_yap" % self.isim
def f(db_kapatici, bir_daha=False):
db_kapatici.kapanan.birsey_yap()
if bir_daha:
f(db_kapatici)
def dene():
x = Kapatici(DB("DB_1"))
y = Kapatici(DB("DB_2"))
xx = x
f(xx)
del x
# del xx
f(y, True)
|
| | |
| | #5 (permalink) | |
| Eski Cevizci Üyelik Tarihi: 05/2004
Mesaj: 792
| Alıntı:
| |
| | |
![]() |
| Bookmarks |
| Seçenekler | |
| |
Benzer Konular | ||||
| Konu | Konuyu açana göre | Forum | Cevap | En Son Mesaj |
| Javascript Kütüphaneleri Hakkında | mTuran | Javascript / DHTML / Ajax | 9 | 20/06/2007 19:33 |
| dev c++ kütüphaneleri | ferdi04 | C / C++ | 2 | 27/05/2007 18:31 |
| Copy & Paste = Hello! <sorunu!!!> | vlknkzr | Windows | 4 | 29/04/2005 09:49 |
| WinAPI ile Dosya Kopyalama Sorunu | epic | Pascal / Delphi / Delphi.NET | 2 | 10/09/2004 19:13 |
| C++ kütüphaneleri hakkında..? | virU | C / C++ | 4 | 05/08/2004 17:29 |
| Reklamlar & Desteklenenler | |
| Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv | |