python寫一個解析文件的腳本

Python寫一個解析文件的腳本

----基於Red Hat Enterprise Linux Server release 6.4 (Santiago);python 2.6.6 python

需求: 1.去掉空行 spa

          2.去掉空行後輸出到一個新文件 .net

附加需求(排版):1.-’縮進n個字符 utf-8

                                  ’縮進2n個字符 字符串

                                    以此類推 get

                          2.-’開頭的全部句子輸出在一行 it

                              ’開頭的句子輸出在一行 微博

                                  以此類推 import

--------------------------------------------分隔線------------------------------------------------------ coding

步入正題,以前沒有接觸過Python如何操做字符串,可是感受上比較簡單。

思路:1.要去解析文件,首先要打開文件

         2.輸出成一個新文件,先要本地寫一個文件,把解析過的文件寫進去

         3.去掉空行就要先識別空行,利用split(),若是spli()不能返回值,說明就是空行

4.關於排版縮進的問題,首先要識別出不一樣類型的句子,用正則匹配,而後輸出字符串的時候前面加上空格,這樣就縮進了。

         代碼:

            #!/usr/bin/python

            #coding=utf-8

import re

###待會要用到正則匹配,因此輸入re模塊

old_file=open('路徑+文件名','r')

###打開一個要解析的文件

download_file=open('/root/Desktop/lianxi/newfile','w')

###本地新建一個文件,寫入解析好的內容

lines=old_file.readlines()

###.readlines()讀取整個文件,分析成一個行的列表

for l in lines:

        match=re.match(r'^\-\w.*',l)

                   ###匹配首字符是-的句子

        if match:

 

                a=match.group()

                                     ###將匹配結果賦值給a

                download_file.write("  "+a)

                                     ###a的前面加上兩個空格而後寫入download_file

        match1=re.match(r'^\-\-\w.*',l)

        if match1:

                b=match1.group()

                download_file.write("    "+b)

        if l.split():

                download_file.write(l)

                                     ###用到了split分割,按空格分割,空行天然爲0

print "success"

old_file.close()

               download_file.close()       

                                                                                                            新浪微博

                                                                                                           @皮子喜歡打籃球

相關文章
相關標籤/搜索