Seite 1 von 1
Module mit unbekannten Namen laden
Verfasst: Montag 26. Juli 2010, 13:16
von julianibus
Hallo,
ich bin wieder mal (nicht nur in python) auf folgendes Problem gestoßen: Ich muss in einem Spiel Module nachladen, deren Namen von den übergebenen Parametern abhängig sind.
Geht das in Python? Und wenn ja, wie?
Re: Module mit unbekannten Namen laden
Verfasst: Montag 26. Juli 2010, 13:21
von Dav1d
Re: Module mit unbekannten Namen laden
Verfasst: Montag 26. Juli 2010, 15:06
von lunar
Du kannst
"import_string()" aus dem Werkzeug-Quelltext klauen.
Re: Module mit unbekannten Namen laden
Verfasst: Montag 26. Juli 2010, 20:37
von HerrHagen
Auch wenn der Aufschrei sicher groß sein wird:
Re: Module mit unbekannten Namen laden
Verfasst: Montag 26. Juli 2010, 21:06
von BlackJack
*Aufschrei*
Re: Module mit unbekannten Namen laden
Verfasst: Montag 26. Juli 2010, 21:19
von lunar
AUFSCHREI!!!!!
Wenn, dann richtig!
Schade, dass der Aufschrei nicht größer als 200 geht

Re: Module mit unbekannten Namen laden
Verfasst: Montag 26. Juli 2010, 23:18
von Leonidas
AUFSCHREI!
Weil ASCII keine Farben kennt und ich oldskool-formatiere

Re: Module mit unbekannten Namen laden
Verfasst: Dienstag 27. Juli 2010, 08:53
von BlackJack
Auch Oldschool geht das grösser:
Code: Alles auswählen
_ _ ______ _____ _____ _ _ _____ ______ _____
/\ | | | | ____/ ____|/ ____| | | | __ \| ____|_ _|
/ \ | | | | |__ | (___ | | | |__| | |__) | |__ | |
/ /\ \| | | | __| \___ \| | | __ | _ /| __| | |
/ ____ \ |__| | | ____) | |____| | | | | \ \| |____ _| |_
/_/ \_\____/|_| |_____/ \_____|_| |_|_| \_\______|_____|
Oder mit den Grafikzeichen mit denen auf dem C64 gerne Inhaltsverzeichnisse von Disketten gestaltet wurden:
Code: Alles auswählen
╭─╮ ┌┐ ╭╮
╭─┬┬┤├┼─┬─┤└┬─┬─┼┤
├┘│││└┤└┤├┤││├┤│││
│││││┌┼┐│├┤││││┌┤│
╰─┴─┤│╰─┴─┴┴┴┘╰─┴┘
────└╯────────────
("best viewed" mit einer Schriftart, die auch alle diese Unicode-Zeichen enthält.)
Re: Module mit unbekannten Namen laden
Verfasst: Dienstag 27. Juli 2010, 09:56
von snafu
Ich kann diesem Aufschrei nur beipflichten, denn zumindest in Python 3.x kann man erst nach den nötigen Modifizierungen
Code: Alles auswählen
>>> def my_import(modname):
... exec('import {module}'.format(module=modname))
...
...seine Imports wie gewünscht ausführen:
Re: Module mit unbekannten Namen laden
Verfasst: Dienstag 27. Juli 2010, 10:03
von cofi
@BlackJack: Warum hat dein figlet ueberlebt?! Bei mir wollte sich das Forum an nem Strich vergreifen

(Natuerlich in einem code Block)
Re: Module mit unbekannten Namen laden
Verfasst: Dienstag 27. Juli 2010, 10:26
von BlackJack
@cofi: Ich hatte auch erst Probleme mit einer Zeile bis ich den Code-Typ explizit auf "text" gesetzt habe, also [ code=text] statt einfach nur [ code].
Re: Module mit unbekannten Namen laden
Verfasst: Dienstag 27. Juli 2010, 10:52
von cofi
Feinste Software!
