Modul importiert sich selbst

23/02/2008 - 16:02 von Florian Lindner | Report spam
Hallo,
ich habe folgendes Problem:

In einer Datei markdown.py steht folgendes

import markdown as markdown_module

def markdown(value):
html = markdown_module.markdown(value)
return html

Mit import markdown ... ist gemeint, dass ich eine andere Datei
markdown.py importieren will (die in einem anderen Verzeichnis, aber
im PYTHONPATH ist). Allerdings scheint mir Python dort das Modul im
aktuellen Verzeichnis (also das aus dem der obige Code stammt) zu
importieren. Damit wird die Funktion markdown rekursiv und macht nun
gar nicht das was ich will.

Komme ich um das Problem irgendwie herum ohne Funktionen oder Module
umzubennen?

Danke,

Florian

I'm using an evaluation license of nemo since 74 days.
You should really try it!
http://www.malcom-mac.com/nemo
 

Lesen sie die antworten

#1 Georg Brandl
23/02/2008 - 20:48 | Warnen spam
Florian Lindner schrieb:
Hallo,
ich habe folgendes Problem:

In einer Datei markdown.py steht folgendes

import markdown as markdown_module

def markdown(value):
html = markdown_module.markdown(value)
return html

Mit import markdown ... ist gemeint, dass ich eine andere Datei
markdown.py importieren will (die in einem anderen Verzeichnis, aber
im PYTHONPATH ist). Allerdings scheint mir Python dort das Modul im
aktuellen Verzeichnis (also das aus dem der obige Code stammt) zu
importieren. Damit wird die Funktion markdown rekursiv und macht nun
gar nicht das was ich will.

Komme ich um das Problem irgendwie herum ohne Funktionen oder Module
umzubennen?



Falls deine markdown.py innerhalb eines Paketes liegt, hilft

__import__("markdown")

oder, ab 2.5,

from __future__ import absolute_import
import markdown

Grüße,
Georg

Ähnliche fragen