文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python版wc

2023-01-31 07:00

关注

#!/usr/bin/env python

#coding:utf8

from optparse import OptionParser

import sys, os

#parser = OptionParser()

def set():

   parser = OptionParser("Usage: %prog [file1] [file2]...")

   parser.add_option("-c",

       "--chars",

       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",

       )

   parser.add_option("-n",

       "--no-total",

       dest="nototal",

       action="store_true",

       default=False,

       help="only count not total",

       )

   return parser.parse_args()

class Count_file(object):

   l,w,le,lens,wo,lines=0,0,0,0,0,0

   nu=" "*5

   def get_count(self):

       self.lens=len(data)

       self.wo=len(data.split())

       self.lines=data.count("\n")

   def print_wc(self):

       if options.characters:

           print self.lines,

           self.l += self.lines

       if options.words:

           print self.wo,

           self.w += self.wo

       if options.lines:

           print self.lens,

           self.le += self.lens

       try:

           print args[i]

       except:

           print "stdin"

   def print_total(self):

       if options.nototal:

           pass

       else:

           if len(args)>1:

               for i in (self.l,self.w,self.le):

                   if i ==0:

                       pass

                   else:

                       print i,

               print "总用量"

   def print_fi_pa(self):

       print __file__,":",args[i],":"+"没有那个文件或目录!"

   def print_path(self):

       print __file__,":",args[i],":"+"是一个目录"

       print self.nu,self.l,self.nu,self.w,self.nu,self.le,args[i]

if __name__ =="__main__":

   options,args = set()

   test=Count_file()

   if (options.characters or options.words or options.lines):

       pass

   else:

       options.characters, options.words, options.lines= True, True, True

   if args:

       for i in xrange(len(args)):

           if os.path.isfile(args[i]):

               data=file(args[i]).read()

               test.get_count()

               test.print_wc()

           elif os.path.isdir(args[i]):

               test.print_path()

           else:

               test.print_fi_pa()

       test.print_total()

   else:

       data=sys.stdin.read()

       test.get_count()

       test.print_wc()


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯