最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

使用python实现wc命令程序的功能的实例代码

来源:动视网 责编:小采 时间:2020-11-27 14:25:15
文档

使用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
推荐度:
导读使用python实现wc命令程序的功能的实例代码:这里使用了 python 的基本代码实现了 Linux 系统下 wc 命令程序的基本功能。#!/usr/bin/env python #encoding: utf-8 # Author: liwei # Function: wc program by python from optparse import OptionParser


这里使用了 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('
')
 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
' % 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实现wc命令程序的功能的实例代码:这里使用了 python 的基本代码实现了 Linux 系统下 wc 命令程序的基本功能。#!/usr/bin/env python #encoding: utf-8 # Author: liwei # Function: wc program by python from optparse import OptionParser
推荐度:
标签: 功能 例子 命令
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top