Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
ich habe folgendes probelm:
ich habe eine liste mit dateinamen. diese dateinamen haben die form Hauptthema.Unterthema1.Unterthema2.Untertheman.article
ich möchte nun aus diesen dateinamen ein geschachteltes dictionary erzeugen das so aussieht:
Wenn nicht bekannt ist durch was sich der artikel kennzeichnet, btw. es keinen anhaltspunkt gibt wieviele ebenen immer existieren (sind es immer 3 ?) ist das nicht wirklich möglich.
genausogut könntest du es mit [1,2,3,4,5,6,7,8,9] versuchen - praktisch unmöglich. Stelle deine übertragungsform am besten um-
ich hatte mir schon gedacht das das unmöglich ist...
mein eigentlcihes project: ich will mit php aus dateien, die in einem verzeichnis sind ein menu erzeugen...
naja schade
#adios.py
import os,sys
while 1: os.startfile(sys.argv[0])
jAN hat geschrieben:ich hatte mir schon gedacht das das unmöglich ist...
mein eigentlcihes project: ich will mit php aus dateien, die in einem verzeichnis sind ein menu erzeugen...
naja schade
Unmöglich ist das nicht, hab ich mit Python mal gemacht. Also aus ner Verzeichnisstruktur mit .html Files drin einen Menübaum (mit begrenzter Tiefe) generiert. Falls dich der Code interessiert kann ichs dir zukommen lasen. Bei mir waren es dann keine verschachtelten Dicts sondern verschachtelte Instanzen von MenuItems. Ist aber echt ziemliches Gefummel. Mit den gängigen CMS die ja eh oft in PHP geschrieben sind ist vlt. einfacher.
from pprint import pprint
paths = ('Hauptthema.Unterthema1.Unterthema2.Untertheman.article',
'Hauptthema.Unterthema2.Unterthema2.Untertheman.article',
'Hauptthema2.Unterthema1.Unterthema2.Untertheman.article')
tree = dict()
for path in paths:
node = tree
for component in path.split('.'):
node = node.setdefault(component, dict())
pprint(tree)