2014-02-21 28 views
1

主腳本我有這樣導入類從子目錄

main.py 
markdown-extensions/ 
    __init__.py 
    doc_extension.py 

這裏的目錄結構是我doc_extension.py(它的意圖是一個裸露的骨頭降價後處理器):

from markdown.postprocessors import Postprocessor 
class DocsPostProcessor(Postprocessor): 
    def run(self, text): 
     return "<h1>hello world</h1>" 

class DocsExtension: 
    def extendMarkdown(self,md): 
     postProcessor = DocsPostProcessor() 
     postProcessor.md = md 
     md.postprocessors.add(postProcessor) 

我如何將它導入到我的main.py中?我試過變化以下無濟於事:

import markdown-extensions.doc_extension 
import markdown-extensions.* 
import markdown-extensions.doc_extension 
+0

您不能在模塊名稱(或任何其他名稱)中使用「-'。 – Bach

+0

謝謝,如果你補充說,作爲答案,我會給你信用。 – Msencenb

回答

2

-符號不是Python名稱的有效字符(也稱爲標識符),無論它是否爲模塊。請參閱here

1

從降價-extensions.doc_extension進口*

而是是明確的,如*將導入所有的全局變量,方法和類。所以:

從降價-extensions.doc_extension進口DocsPostProcessor,DocsExtension

*編輯 是的,除了你不能有 「 - 」 S,我誤以爲它是 「_」。