<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    躺在沙灘上的小豬

    快樂的每一天

    python and Template.

    也許說法不正確,但是目前我能理解的就是替換,替換指定文本中的內(nèi)容。
    例如:

    <a name="$code$"></a>
    <div class="infomark">$title$</div>
    <div class="info" style="background:#F4F4F4">
    <pre>
        $content$
    </pre>   
    </div>
    <div align="right" class="right"><a href="#000">Top</a></div>
    <br>
    <br>

    我要做的只是替換其中特定格式的 $code$,$title$,$conent$,而已。

    那么我們用re可以輕松搞定(當(dāng)然更復(fù)雜的template需要更深入的去學(xué)習(xí)...)。
    --------------

    import re 
    import sys 
    
    class Template: 
        """ 
            簡單的模板,用于替換指定文本的特殊字符 
       例如:$code$ 
        """ 
        def __init__(self,filename,params,prefix='$',suffix='$'): 
            if not filename: 
                print 'Error:' 
                sys.exit(-1) 
            else: 
                self.filename=filename            
            self.text=''    
            self.params=params 
            self.prefix=prefix 
            self.suffix=suffix 
    
        def getKeys(self): 
            """ 
                返回所有的要求替換匹配的表達(dá)式 
            """ 
            return params.keys() 
    
        def parse(self): 
            
            self.getContent() 
              
            keys = self.params.keys() 
            for key in keys: 
                value = self.params[key] 
                self.__replace(key,value) 
            return self.text 
    
        
        def getContent(self): 
            """ 
                讀取文件的內(nèi)容 
            """ 
            f = open(self.filename) 
            lines = f.readlines() 
            self.text = ''.join(line for line in lines) 
            
        def __replace(self,key,value):        
            #m = re.match(prefix+key+suffix,text) 
            pattern = '\.*\\'+self.prefix+key+'\\'+self.suffix+'\.*' 
            self.text = re.sub(pattern,value,self.text) 
    
    if __name__=='__main__': 
        filename = 'D:\\workspace\\style\\test\\template.xt' 
        params = {'code':'001001','title':'測試','content':'的嘎公司今后;飛機(jī)庫'} 
        t = Template(filename,params) 
        print t.parse()

    ------------- ------------- ------------- ------------- ------------- ------------- ------------- -------------

    這樣,我們的python代碼可以更簡單點(diǎn)了

    我們將以前的代碼做修改,如下:

    import cx_Oracle 
    from Template import * 
    
    def parse(): 
        '''generate the content html''' 
    
        sql = '''select t.bz_code code, t.bz_title title, t.bz_content content 
            from bz_czzs t 
            order by t.bz_code''' 
    
        connection = cx_Oracle.connect( 'etasadmin/etasadmin@zhongju' ) 
        cursor = connection.cursor() 
        cursor.execute(sql) 
        item=cursor.fetchone() 
        i=1; 
        print 'begin' 
        while item: 
            i+=1 
            print 'parsing ',i,' item....' 
            writeContent(item[0],item[1],str(item[2])) 
            item=cursor.fetchone() 
    
    def writeContent(code,title,content): 
        filedir='D:\\m\\content\\' 
        
        params = {'code':code,'title':title,'content':content} 
        t = Template('D:\\workspace\\style\\test\\template.xt',params) 
        s = t.parse() 
    
        out = open(filedir+code+".html",'w') 
        out.write(s) 
        out.flush() 
        out.close() 
        
    if __name__=='__main__': 
        print 'parse..................'    
        parse() 
        print 'end'

    參考文檔:
    http://docs.python.org/lib/module-re.html

    關(guān)于template的進(jìn)一步思考:
    一:不用那么復(fù)雜的制定文件全名:
    'D:\\workspace\\style\\test
    template.xt'
    代碼實(shí)現(xiàn)從當(dāng)前的classpath中自動(dòng)尋找該文件,并且制定文件后綴名。
    那么就變的如下簡單了。

    t = Template('template',params)

    posted on 2005-09-20 18:53 martin xus 閱讀(1538) 評論(1)  編輯  收藏 所屬分類: python

    主站蜘蛛池模板: 无遮挡呻吟娇喘视频免费播放| 精品日韩亚洲AV无码一区二区三区| 亚洲日韩精品无码专区加勒比☆| 精品无码免费专区毛片| 亚洲精品美女久久久久| 91成年人免费视频| 中文字幕精品三区无码亚洲 | a成人毛片免费观看| 亚洲一级片内射网站在线观看| 一级一黄在线观看视频免费| 久久伊人亚洲AV无码网站| 黄桃AV无码免费一区二区三区| 亚洲伊人久久大香线蕉综合图片| 成人A毛片免费观看网站| 国产亚洲av片在线观看播放| 四虎国产成人永久精品免费| 亚洲国产精品人久久电影| 特级做A爰片毛片免费69| 久久亚洲精品无码网站| 中文字幕亚洲无线码a| 久久国产乱子伦精品免费看| 亚洲另类图片另类电影| 免费无码又爽又刺激高潮| 人体大胆做受免费视频| 亚洲va久久久噜噜噜久久天堂| 亚洲黄色免费网站| 国产成人精品日本亚洲语音 | 久久久久亚洲av无码专区导航| 97免费人妻无码视频| 亚洲精品无码成人| 亚洲综合色婷婷七月丁香| 最好看的中文字幕2019免费| 亚洲老熟女五十路老熟女bbw| 亚洲成年看片在线观看| 久久一本岛在免费线观看2020| 亚洲AV色吊丝无码| 亚洲欧洲自拍拍偷精品 美利坚 | 亚洲欧洲国产综合| 免费a级毛片永久免费| 伊人久久免费视频| 日日摸日日碰夜夜爽亚洲|