python实现wc命令(一)
来源:互联网 发布:ubuntu启动顺序 编辑:程序博客网 时间:2024/06/06 11:47
wc这个命令可以实现对文件行数、单词数、字节数等的统计。
[root@js python]# wchellogood morning 2 3 20[root@js python]# wc /etc/passwd 32 52 1530 /etc/passwd
下面写一个吧简单的程序来实现这个功能。
程序一:
通过标准输入来获取内容并统计:
[root@js python]# cat wc2.py#!/usr/bin/env pythonimport sysdata = sys.stdin.read()lines = data.count('\n')words = len(data.split())chars = len(data)print "%(lines)s %(words)s %(chars)s" %locals()
执行:
[root@js python]# python wc2.pyhelloworld i am2 4 18
程序二:
通过参数形式获取文件:
[root@js python]# cat argv2.py#!/usr/bin/pythonimport sysimport ostry: fn = sys.argv[1]except IndexError: print "please follow a argument after %s" %__file__ sys.exit()if not os.path.exists(fn): print " %s is not exists" %fn sys.exit()with open(fn) as fd: data = fd.read() lines = data.count('\n') words = len(data.split()) chars = len(data)print "%(lines)s %(words)s %(chars)s" %locals()
执行:
[root@js python]# python argv2.py /etc/hosts2 10 158[root@js python]# python argv2.py /etc/fadjsfd /etc/fadjsfd is not exists
程序三:
既可以通过标准输入来获取内容并统计,又可以通过参数形式获取文件:
[root@js python]# cat hb2.py#!/usr/bin/env pythonimport sysimport osif len(sys.argv) == 1: data = sys.stdin.read()else: try: fn = sys.argv[1] except IndexError: print "please follow a argument after %s" %__file__ sys.exit() if not os.path.exists(fn): print "%s is not exists" %fn sys.exit() with open(fn) as fd: data = fd.read()lines = data.count('\n')words = len(data.split())chars = len(data)print "%(lines)s %(words)s %(chars)s" %locals()
执行:
1、通过标准输入来获取内容
[root@js python]# python hb2.pywhere arreyou2 3 16
2、通过参数形式获取文件
[root@js python]# python hb2.py /etc/passwd32 52 1530[root@js python]# python hb2.py /etc/231wdas/etc/231wdas is not exists
到此为止 ,实现了wc的统计lines,words,chars功能。
阅读全文
0 0
- python实现wc命令(一)
- python使用optparse模块实现wc命令(二)
- Unix程序设计:实现wc命令
- Unix程序设计:实现wc命令
- wc命令的C语言实现
- wc命令
- wc命令
- WC命令
- wc命令
- wc命令
- WC 命令
- wc命令 .
- wc命令
- wc命令
- wc命令
- wc命令
- wc命令
- wc命令
- android recycleview实现checked单选
- 报表工具之ireport
- 创建不能被继承的类?只在栈上?只在堆上?
- 7.17 matlab学习
- python windows 下安装 PIL 库
- python实现wc命令(一)
- 设计模式之建造者(Builder)模式
- 一些告诉我们节点在节点树上位置的属性
- NAO的C++_python环境配置
- 最长公共子序列【ccf中学计算机程序设计 基础篇】
- C/C++字符串处理库
- Java多线程____堆和栈的结构
- android项目build问题 duplicate entry :android/support/v4/widget/ViewDragHelper$callback.class
- 最大连续子数组和、乘积(动态规划)