[erledigt] Karrigell Dateien anlegen

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Benutzeravatar
nkoehring
User
Beiträge: 543
Registriert: Mittwoch 7. Februar 2007, 17:37
Wohnort: naehe Halle/Saale
Kontaktdaten:

[erledigt] Karrigell Dateien anlegen

Beitragvon nkoehring » Montag 26. Februar 2007, 22:16

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=]Script /index.ks/indexIOError: [Errno 2] No such file or directory: 'userfiles/pSy.dat'

Line 91
datafile = file(datafilepath, "wb")[/code]

...aber ich mache doch extra "wb", damit er die Datei erstellt o.O
Zuletzt geändert von nkoehring am Montag 26. Februar 2007, 22:40, insgesamt 1-mal geändert.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Re: Karrigell Dateien anlegen

Beitragvon gerold » Montag 26. Februar 2007, 22:37

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

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
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
nkoehring
User
Beiträge: 543
Registriert: Mittwoch 7. Februar 2007, 17:37
Wohnort: naehe Halle/Saale
Kontaktdaten:

Beitragvon nkoehring » Montag 26. Februar 2007, 22:40

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
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Beitragvon gerold » Montag 26. Februar 2007, 22:46

...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
:-)
http://halvar.at | Kleiner Bascom AVR Kurs

Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
nkoehring
User
Beiträge: 543
Registriert: Mittwoch 7. Februar 2007, 17:37
Wohnort: naehe Halle/Saale
Kontaktdaten:

Beitragvon nkoehring » Montag 26. Februar 2007, 22:55

danke danke ... aber es funktioniert ja alles so wie es soll :)

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

Wer ist online?

Mitglieder in diesem Forum: ArashiTok