Seite 1 von 1

Selbstgeschriebener ZipWalker gibt nicht alle Items aus

Verfasst: Freitag 13. September 2013, 14:33
von jtschoch
Hallo Pythonfreunde,

Problembeschreibung

Ich habe ein ZipWalker zusammengeschrieben, der die Liste die ich von den ZipModul erhalte, in eine Dictonary Struktur umwandelt. Leider habe ich in den Programm einen Denkfehler und ich finde ihn nicht wirklich. Könnt ihr mit vielleicht Tipps und Ansetze geben?

Ich wäre euch sehr Dankbar.

Skript

Das Skript findet ihr hier auf meiner Homepage:
http://www.develos.de/article/40/ZipWal ... gsversion)

Re: Selbstgeschriebener ZipWalker gibt nicht alle Items aus

Verfasst: Freitag 13. September 2013, 15:04
von BlackJack
@jtschoch: Ich sehe da keinen Quelltext‽

Re: Selbstgeschriebener ZipWalker gibt nicht alle Items aus

Verfasst: Freitag 13. September 2013, 15:56
von jtschoch
Oh Sorry kommt dann gleich, habe nicht fran gedacht das ich den Artikel ausversehen mal überscrieben habe.

Re: Selbstgeschriebener ZipWalker gibt nicht alle Items aus

Verfasst: Freitag 13. September 2013, 17:10
von Sirius3
@jtschoch: ich sehe den Sinn von »cache« nicht ganz. Du solltest an einigen Stellen »else« verwenden. Das Löschen von Elementen aus einer Liste ist meistens keine gute Idee und niemals wenn man gerade über diese Liste iteriert. Ansonsten habe ich das Konstrukt mit »memory« noch nicht ganz durchschaut. Parameter sollten keinen Defaultwert haben, wenn die Funktion sinnlos wird, wenn man den Parameter weg läßt.

Meinst Du das?

Code: Alles auswählen

def walk(files):
    result={}
    for filename in files:
        branch = result
        fileparts = filename.split('/')
        last=fileparts.pop()
        for part in fileparts:
            branch=branch.setdefault(part+'/',{})
        if last:
            branch[last]=None
    return result

Re: Selbstgeschriebener ZipWalker gibt nicht alle Items aus

Verfasst: Freitag 13. September 2013, 17:23
von jtschoch
Vielen Dank für den Ansatz, da werde ich mir Anregungen holen.

Also ist das mit einen Generator keine so gute Idee?

Re: Selbstgeschriebener ZipWalker gibt nicht alle Items aus

Verfasst: Mittwoch 18. September 2013, 14:35
von jtschoch
Keine Antwort?

Re: Selbstgeschriebener ZipWalker gibt nicht alle Items aus

Verfasst: Mittwoch 18. September 2013, 14:53
von BlackJack
@jtschoch: Wo willst Du denn da einen Generator einsetzen?

Re: Selbstgeschriebener ZipWalker gibt nicht alle Items aus

Verfasst: Mittwoch 18. September 2013, 17:18
von Sirius3
@jtschoch: mit einem Generator kannst Du eine lineare Folge von Elementen erzeugen. Du willst aber verschachtelte Dictionaries, also nicht linear, ohne Reihenfolge, so ziemlich das Gegenteil, was ein Generator liefert.