[Python-de] Re: shelve modul

#!rsc mariachi at gmx.ch
Fri Nov 22 11:45:07 EST 2002


Hallo.


> > Das klappt auch alles sehr gut, doch jetzt versuchte ich eine exe
> > daraus zu machen...dann funktioniert das ganze nicht mehr.
> > Wie kann ich nach Erzeugung der exe trotzdem noch in das "file" dic
> > reinschreiben und es auslesen?
>
>Wie erzeugst Du denn die exe, und woran merkst Du, dass dann das ganze
>nicht mehr funktioniert?

Die .exe erzeuge ich durch "py2exe".
Ich merke das daran, da die myShelve.exe nicht startet mit Doppelklick.
Am besten poste ich hier den Code, dann kann man sichs besser vorstellen.
Es ist alles lediglich ein Test, deshalb stoert euch nicht an der "billigen 
Codierung" :-))

/** myShelve.py **/

from Tkinter import *
import shelve, os

def openDic():
     dic = shelve.open("dic")
     x = len(dic)

     dt = dEntry.get()
     en = eEntry.get()

     y = repr(x + 1)
     dic[y] = (dt,en)

     dic.close()

win = Tk()

dEntry = Entry(win)
dEntry.grid(row=0, column=0)

eEntry = Entry(win)
eEntry.grid(row=1, column=0)

dic = shelve.open("dic")
anzahl = len(dic)
dic.close()

Label = Label(win, text= anzahl)
Label.grid(row=2, column=0)

insertButton = Button(win, width=6, height=1, text="Insert", command=openDic)
insertButton.grid(row=3, column=0)

mainloop()

/** setup.py **/
from distutils.core import setup
import py2exe

setup(name="myscript",
       scripts=["myShelve.py"]
)

Dann erzeuge ich das .exe File
python setup.py py2exe --w

Als erstes verwundert mich dann, dass das "dic" File nicht im "dist" Ordner 
erscheint.
Dann habe ich es per Hand reinkopiert, doch funktioniert es noch immer nicht.

Tipps, Tricks??

Gruesse und Danke
Robert





More information about the Python-de mailing list