Python写了一个WC命令

Python 写了一个收发数据用的一个wc命令,更多学习交流请加Reboot运维开发QQ群 365534424 ,直接上代码

#!/usr/bin/env python
# coding:utf-8
# author: 51reboot.com
# QQ群:365534424
from optparse import OptionParser
import os

class Wc(object):
    def __init__(self):
        self.n = 0              # line num
        self.error = ''
    
    def run(self):
        self.options = main()
        if self.options.l:
            # wc -l
            if self.get_line():
                print self.n, self.options.filename
            else:
                print self.error

    def get_line(self):
        if self.options.filename and os.path.exists(self.options.filename) :
            try:
                with open(self.options.filename) as f:
                    for line in f:
                        self.n +=1
                return True
            except IOError:
                self.error = '文件不可读'
                return False
        else:
            self.error = '文件不存在'
            return False

    
def main():
    parser = OptionParser()
    parser.add_option('-l',help='print the length of the longest line',action='store_true')
    (options,args) = parser.parse_args()
    if len(args) == 1:
        options.filename = args[0]
    else:
        options.filename = ''
    return options


if __name__ == '__main__':
    wc = Wc()
    wc.run()


你可能感兴趣的:(python,wc)