Python下使用optparse模块实现对多个文件进行统计【二】
生活随笔
收集整理的這篇文章主要介紹了
Python下使用optparse模块实现对多个文件进行统计【二】
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一個(gè)取代shell?wc?-l?命令的python小腳本
?
1.通過python下optparse模塊下OptionParser類是新對(duì)文件的統(tǒng)計(jì)
?
#!/opt/data/ipy/bin/python #!-*- coding:utf8 -*- import sys #加載sys模塊 from optparse import OptionParser #加載optparse模塊 parser = OptionParser(usage="usage: %prog [options] [file1 file2 ...]") #實(shí)例化對(duì)象 parser.add_option("-c", "--char", dest="characters", action="store_true", default=False, help="Only count characters") parser.add_option("-w", "--words", dest="words", action="store_true", default=False, help="Only count words") parser.add_option("-l", "--lines", dest="lines", action="store_true", default=False, help="Only count lines") (options, args) = parser.parse_args() if not (options.characters or options.words or options.lines): options.characters, options.words, options.lines = True, True, True def get_count(init_data): words=len(init_data.split()) lines=init_data.count("\n") chars=len(init_data) return (chars,words,lines) def print_wc(chars,words,lines,fn): if options.characters: print chars, if options.words: print words, if options.lines: print lines, print fn if args: t_lines,t_words,t_chars = 0,0,0 for fn in args: f=open(fn) data=f.read() init_data=data.strip() chars,words,lines = get_count(init_data) t_lines+=lines t_words+=words t_chars+=chars print_wc(chars,words,lines,fn) print t_chars,t_words,t_lines,"total" else: fn="stdin" data=sys.stdin.read() init_data=data.strip() chars,words,lines=get_count(init_data) print_wc(chars,words,lines,fn)?
轉(zhuǎn)載于:https://blog.51cto.com/davidbj/1223795
總結(jié)
以上是生活随笔為你收集整理的Python下使用optparse模块实现对多个文件进行统计【二】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [gkk传智]static与多态及向下向
- 下一篇: websocket python爬虫_p