统计一下写过多少行代码。包括空行和注释,但是要分别列出来。
代码:
import os
def get_files():
files_path=[]
for i in os.listdir(os.getcwd()):
if os.path.splitext(i)[1]=='.py':
files_path.append(i)
return files_path
def count(files):
line_of_code,blank,comments=0,0,0
for filename in files:
f=open(filename,'rb')
for line in f:
line=line.strip()
line_of_code+=1
if line=='':
blank+=1
elif line[0]=='#'or line[0]=='/':
comments+=1
f.close()
return (line_of_code,blank,comments)
if __name__=='__main__':
files=get_files()
print files
lines=count(files)
print 'Line(s):%d,black line(s):%d,comments line(s):%d'%(lines[0],lines[1],lines[2])
学习笔记:
1、strip()用于移除字符串头尾指定的字符(默认为空格),可以传参(需要删除的字符),返回生成的新字符。
2、os.path模块主要用于文件属性的获取,比如路径,时间,大小之类的。os.path.splittext(path)用于分离文件名和拓展名,默认返回(fname,fextension)元组,可做分片操作。
3、os.getcwd()方法用于返回当前工作目录