发布时间:2019-08-27 08:02:16编辑:auto阅读(1765)
模拟wc命令统计行和字符的功能。
# vim wc.py
- #!/usr/bin/env python
- '''
- Author:diege
- Email:diege@foxmail.com
- Date:2012-03-04
- Useage:wc.py filename
- '''
- #import sys
- #filename=raw_input('Enter FileName:')
- #filename=sys.argv[1]
- from sys import argv as getargv
- filename=getargv[1]
- def CountLines(filename):
- countlines=''
- countlines=len(open(filename).readlines())
- return countlines
- def ConutChars(filename):
- conutchars=''
- conutchars=len(open(filename).readlines())
- return conutchars
- def GetFileInfo(filename):
- countlines=CountLines(filename)
- conutchars=ConutChars(filename)
- print 'file:%s,line:%s,chars:%s' %(filename,countlines,conutchars)
- if __name__=='__main__':
- '''
- #debug
- print filename
- countlines=len(open(filename).readlines())
- conutchars=len(open(filename).readlines())
- print 'file:%s,line:%s,chars:%s' %(filename,countlines,conutchars)
- '''
- GetFileInfo(filename)
总结:
犯了两个错误
1、open(filename) 传入的是变量filename 不要写成open('filename'),不然传入的就是字符串不是变量了
2、关于函数内,本地变量的未定义的问题。
忘记在函数内定义本地变量countlines和conutchars,结果报错变量没有定义。
- # python wc.py module.py
- Traceback (most recent call last):
- File "wc.py", line 25, in <module>
- GetFileInfo(filename)
- File "wc.py", line 15, in GetFileInfo
- conutchars=ConutChars(filename)
- File "wc.py", line 12, in ConutChars
- return countlines
- NameError: global name 'countlines' is not defined
上一篇: anaconda更换python版本
下一篇: python2中为什么在进行类定义时最好
48853
47914
38701
35852
30279
27026
26062
20894
20692
19058
492°
582°
599°
603°
581°
567°
627°
699°
822°
920°