用Python将注释行和空行去掉

比如要将/etc/httpd/conf/httpd.conf的注释行和空行去掉并且打印,用一行命令就可以做到:
egrep -v ‘^#|^$’ /etc/httpd/conf/httpd.conf。但这里练习用Python实现

#!/usr/bin/env python
#coding: utf8

import os

def dellines():
#os模块调用linux命令,\cp是为了避免alias里面的cp -i,强制复制文件,不询问是否覆盖
    os.system('\cp -r -f /etc/httpd/conf/httpd.conf .')
    f = file('httpd.conf')
    linenum = 0
    while True:
        data = f.readline()
        if data  == '':
            break
        else:
        #第一个字符为#或者是换行符,就pass,否则就打印这一行
            if (data[0] == '#') or (data[0] == '\n'):
                pass
            else:
                linenum += 1
                print linenum, data ,
    f.close()

if __name__ == '__main__':
    dellines()

你可能感兴趣的:(用Python将注释行和空行去掉)