用python格式化css檔案

來源:互聯網
上載者:User
    最近研究研究了css,少不了去網上分析一下別人的網頁, 但很多網站的css檔案都是要麼寫在一行,要麼一個換行都沒有,看起來極其痛苦,所以寫一個指令碼轉換一下,轉換為比較有可讀性的格式。下面就是這個指令碼:

import string, sys
import re, StringIO

TAB=4

def format(ss):
    f = open (ss, "r")
    data = f.read()
    f.close()
    
    dlen = len(data)
    i = 0
    buf = StringIO.StringIO()
    start = 0
    while i < dlen:
        if data[i] == '{':
            
            buf.write(data[start:i] + ' { ')
            i = i + 1
            start = i
        elif data[i] == '}':
            last = string.strip(data[start:i])
            if last:
                buf.write(' '*TAB + last + ';')
            buf.write(' } ')
            i = i + 1
            start = i
            
        elif data[i] == ';':
            line = string.strip(data[start:i])
            
            buf.write(' '*TAB + line + '; ')
            i = i + 1
            start = i
        
        else:
            i = i + 1
    buf.write(data[start:i+1])
    
    return buf.getvalue()
    
    
if __name__ == '__main__':
    if len(sys.argv) == 1:
        print 'usage: cssformat.py filename'
        sys.exit()
    
    ret = format(sys.argv[1])
    print ret
    
    

使用方法:

python cssformat.py  待轉換的檔案名稱 > 轉換後儲存的檔案

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.