使用python实现wc命令程序的功能的实例代码
程序员文章站
2022-04-30 21:03:07
...
这里使用了 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 = fd.read() lines, words, chars = get_count(data) print_wc(options, lines, words, chars, fn) total_lines += lines total_words += words total_chars += chars elif os.path.isdir(fn): print >> sys.stderr, '%s is a directory' %fn else: sys.stderr.write('%s: No such file or directory\n' % fn) # 只有多个文件的时候会计算出total字段 if len(args) > 1 and not options.nototal: print_wc(options, total_lines, total_words, total_chars, 'total') else: fn = '' data = sys.stdin.read() lines, words, chars = get_count(data) print_wc(options, lines, words, chars, fn) if __name__ == '__main__': main()
以上就是使用python实现wc命令程序的功能的实例代码的详细内容,更多请关注其它相关文章!
上一篇: 学python需要什么软件
推荐阅读
-
vue cli使用融云实现聊天功能的实例代码
-
Python实现微信消息防撤回功能的实例代码
-
Python实现微信消息防撤回功能的实例代码
-
微信小程序使用scroll-view标签实现自动滑动到底部功能的实例代码
-
Python实现 版本号对比功能的实例代码
-
微信小程序实现即时通信聊天功能的实例代码
-
基于python tkinter的点名小程序功能的实例代码
-
使用Taro实现小程序商城的购物车功能模块的实例代码
-
【WPF高仿 Windows记事本】开发日记 (五) 使用成熟的自动更新代码(ObservableObject)、实现是否显示状态栏功能、鼠标的滚轮命令绑定(查看菜单功能实现)
-
Android 使用fast-verification实现验证码填写功能的实例代码