首页 > 代码库 > 使用 python 实现 wc 命令程序的基本功能

使用 python 实现 wc 命令程序的基本功能

这里使用了 python 的基本代码实现了 Linux 系统下 wc 命令程序的基本功能。

 

#!/usr/bin/env python
#encoding: utf-8
# Author: liwei
# Function: wc program by python

from optparse import OptionParser
import sys,os

def opt():
    parser = OptionParser()
    parser.add_option(‘-c‘, ‘--char‘,
                      dest=‘chars‘,
                      action=‘store_true‘,
                      default=False, 
                      help=‘only count chars‘)

    parser.add_option(‘-w‘, ‘--word‘,
                      dest=‘words‘,
                      action=‘store_true‘,
                      default=False, 
                      help=‘only count words‘)

    parser.add_option(‘-l‘, ‘--line‘,
                      dest=‘lines‘,
                      action=‘store_true‘,
                      default=False, 
                      help=‘only count lines‘)
    
    parser.add_option(‘-n‘, ‘--nototal‘,
                      dest=‘nototal‘,
                      action=‘store_true‘,
                      default=False, 
                      help=‘don\‘t print total information‘)

    options, args = parser.parse_args()
    return options, args

#print options
def get_count(data):
    chars = len(data)
    words = len(data.split())
    lines = data.count(‘\n‘)
    return lines, words, chars

#if not options.chars and not options.words and not options

def print_wc(options, lines, words, chars, fn):
    if options.lines:
        print lines,
    if options.words:
        print words,
    if options.chars:
        print chars,
    print fn

def main():
    options, args = opt()
    
    if not (options.lines or options.words or options.chars):
        options.lines, options.words, options.chars = True, True, True
    
    
    if args:
        total_lines, total_words, total_chars = 0, 0, 0
        for fn in args:
            if os.path.isfile(fn):
                with open(fn) as fd:
                    data = http://www.mamicode.com/fd.read()>

  

使用 python 实现 wc 命令程序的基本功能