Seite 1 von 1

[erledigt] Karrigell Dateien anlegen

Verfasst: Montag 26. Februar 2007, 22:16
von nkoehring
Hallo...

Ich wuerde gern Userdaten in Dateien speichern... aber irgendwie geht es nicht.

Hier das entsprechende Stueck Code:

Code: Alles auswählen

    try:
        datafile = file(datafilepath, "rb")
        userinfo.update(pickle.loads(datafile.read()))
        datafile.close()
    except:
        setuserinfo()
        datafile = file(datafilepath, "wb")
        datafile.write(pickle.dumps(userinfo))
und passend dazu... die Fehlermeldung:

Code: Alles auswählen

Script /index.ks/indexIOError: [Errno 2] No such file or directory: 'userfiles/pSy.dat'

Line 91    
datafile = file(datafilepath, "wb")
...aber ich mache doch extra "wb", damit er die Datei erstellt o.O

Re: Karrigell Dateien anlegen

Verfasst: Montag 26. Februar 2007, 22:37
von gerold
nkoehring hat geschrieben:

Code: Alles auswählen

Script /index.ks/indexIOError: [Errno 2] No such file or directory: 'userfiles/pSy.dat'
Hi nkoehring!

Versuchs mal mit absoluten Pfaden:

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-

import os
import pickle


def index():
    filename = os.path.join(
        os.path.dirname(os.path.abspath(__file__)),
        "userfiles",
        "filename.pickle"
    )
    try:
        datafile = file(filename, "rb")
        userinfo.update(pickle.load(datafile))
        datafile.close()
    except:
        setuserinfo()
        datafile = file(filename, "wb")
        datafile.write(pickle.dump(userinfo))
        datafile.close()
Ungetestet!!!

mfg
Gerold
:-)

Verfasst: Montag 26. Februar 2007, 22:40
von nkoehring
hey gerold...

ja danke fuer die schnelle antwort... aber ich bitte hiermit einfach mal alle, das hier zu ignorieren... wie lange es manchmal dauert um zu erkennen, dass da der ordnername einfach falsch sein koennte -.-

naja, danke trotzdem :D

Verfasst: Montag 26. Februar 2007, 22:46
von gerold
...aaahhhhhrrrrggg :?

__file__ funktioniert in *.ks-Dateien nicht.

Dann musst du dir im gleichen Ordner noch eine Datei erstellen, über die du zum Pfad kommst.

Jetzt nur so als Beispiel:

pfad.py:

Code: Alles auswählen

def get_path():
    return __file__
index.ks:

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-

import os
import pfad

def index():
    filename = os.path.join(
        os.path.dirname(pfad.get_path()),
        "userfiles",
        "filename.pickle"
    )
    print filename
(getestet)

mfg
Gerold
:-)

Verfasst: Montag 26. Februar 2007, 22:55
von nkoehring
danke danke ... aber es funktioniert ja alles so wie es soll :)

ehm... hab ich schonmal die debug-funktion von karrigell gelobt? ^^