Seite 1 von 1

MetaTag Variante mit Dict.

Verfasst: Mittwoch 26. April 2006, 03:56
von Qwark
Hallo,

ich bin dabei ein kleines privates Projekt zu schreiben, welches eine Art Extension um/für die Shell ist. Nun habe ich einmal eine console.py und in einem Ordner module/*.py die verschiedenen Module, welche in der console.py automatisch beim Start geladen werden. In den jeweiligen Modulen habe ich eine Klasse und ein Dictionary angelegt, welche in dieser Art aufgebaut sind:

Code: Alles auswählen

class program_1:
	info = {
	"author: xxx yyy",
	"version: 0.1",
	"contact: xxx@yyy.com
       }
...
In der console.py mache ich nun als erstes folgendes:

Code: Alles auswählen

        for obj in module[0].__dict__.values():
            if isinstance(obj, types.ClassType):
		return obj
 
danach greife ich mit obj.info auf das Dictionary zu:

Code: Alles auswählen

            for k, v in obj.info.items():
                print  k.rjust(15), "-", v
um das ganze Dictionary auzugeben, dies Funktioniert auch. Allerdings wird das Dictionary nicht so ausgegeben, wie ich es definiert habe. Nun las ich auch im Manual folgendes:
Keys and values are listed in an arbitrary order which is non-random, varies across Python implementations, and depends on the dictionary's history of insertions and deletions.
Hat evtl. einer eine ähnliche Variante, mit der ich das realisieren könnte? Ich müsste später auch mit obj.info["author"] die Daten holen können, somit fallen Listen imo weg, oder?

Danke für's Lesen.

Re: MetaTag Variante mit Dict.

Verfasst: Mittwoch 26. April 2006, 07:10
von gerold
Qwark hat geschrieben:
Keys and values are listed in an arbitrary order which is non-random, varies across Python implementations, and depends on the dictionary's history of insertions and deletions.
Hat evtl. einer eine ähnliche Variante, mit der ich das realisieren könnte? Ich müsste später auch mit obj.info["author"] die Daten holen können, somit fallen Listen imo weg, oder?
Hi Qwark!

Das hier: http://www.python-forum.de/post-12396.html#12396

mfg
Gerold
:-)

Verfasst: Mittwoch 26. April 2006, 07:50
von Qwark
Danke, scheint gut zu funktionieren.

Bei der normalen dict() Version, gehts und mal geht es nicht. Hat diese
willkürliche und nicht zufällige Anordnung eigentlich einen tieferen Sinn?

Grus,
Qwark

Verfasst: Mittwoch 26. April 2006, 09:34
von Joghurt

Verfasst: Mittwoch 26. April 2006, 21:35
von BlackJack