通过使用Python OS模块对文件进行操作。

 

1.通过标准输入进行对文件遍历

 

#!/opt/data/ipy/bin/python       //python执行文件目录#!-*- coding:utf8 -*-            //设置字符集import sys                       //加载sys模块儿f=sys.stdin.read()               //读取标准输入的文件print f.strip()                  //迭代出来的文件去除空格cat 要进行迭代地文件 | ./stdin.py //对标准输入的文件,进行遍历执行结果:[root@yetcomm-v2 doc]# cat one | ./1.pyhell ljf kldj fkl ajs kl df jas klfsdf j lasd fjl asfja sl; dfka sl; fdjjd flk asj fl;aj;a dfj kla;

2.使用sys.argv方法对文件进遍历

 

#!/opt/data/ipy/bin/python#!-*- coding:utf8 -*-from sys imprt argv                   #加载sys模块,import功能相同f=open(argv[1])                       #argv[1],由于第一个参数为该脚本本身,所有要进行迭代的文件的键值为1for i in f:print i.strip()                  #对文件进行遍历./cs.py 文件名称执行结果:[root@yetcomm-v2 doc]# ./8.py onehell ljf kldj fkl ajs kl df jas klfsdf j lasd fjl asfja sl; dfka sl; fdjjd flk asj fl;aj;a dfj kla;

 

3.通过标准输入对文件进行统计

 

#!/opt/data/ipy/bin/python#!-*- coding:utf8 -*-import sysdata=sys.stdin.read()lines=data.count('\')        #统计总行数words=len(data.split())      #统计单词数量,split() 将以空格为格式,将字符串转换成列表,然后进行统计chars=len(data)              #统计字母数量print "lines:%(lines)d words:%(words)d chars:(chars)d" % locals()  #locals() 全局变量cat 文件 | ./tj.py执行结果:[root@yetcomm-v2 doc]# cat one |./3.pylines:5 words:26 chars:104

4.通过传递参数对文件进行统计

 

#!/opt/data/ipy/bin/python#!-*- coding:utf8 -*-import sysf=open(sys.argv[1])data=f.read()init_data=data.strip()lines=init_data.count('\n')words=len(init_data.split())chars=len(init_data)print "words:%(words)s lines:%(lines)s chars:%(chars)s" % locals()执行结果:[root@yetcomm-v2 doc]# ./5.py onewords:26 lines:4 chars:103

 

5.通过判断是标准输入还是传递参数进行对文件统计

 

#!/opt/data/ipy/bin/python#!-*- conding:utf8 -*-import sysif len(sys.argv)>1:              #当通过传递参数形式时,执行下面代码f=open(sys.argv[1])data=f.read()init_data=data.strip()else:                            #否则从标准输入进行处理data=sys.stdin.read()init_data=data.strip()lines=init_data.count('\n')words=len(init_data.split())chars=len(init_data)print "lines:%(lines)s words:%(words)s chars:%(chars)s" % locals()执行结果:[root@yetcomm-v2 doc]# cat one | ./6.pylines:4 words:26 chars:103[root@yetcomm-v2 doc]# ./6.py  onelines:4 words:26 chars:103