题目
一个目录里面多个python程序文件,统计一下里面有多少行代码。即分别列出:代码、空行、注释的行数。
代码
在该题目中首先运用了readlines函数逐行读入数据,接着再通过strip函数去出每行代码的首尾空白部分,最后再每行数据中识别是否为空与是否为“#”开头,从而识别数据中的空行与注释行的数量。由于“#”不在开头的代码情况较多,不一定为注释,因此我们只记录以“#”开头的数据为注释行,这也是其不足所在。
fp = open("hanshu2.py",encoding = 'utf-8')
codeNum = len(open("hanshu2.py",encoding = 'utf-8').readlines()) #统计行数
spaceNum = 0
noteNum = 0
for readFP in fp.readlines():
readFP = readFP.strip()
if readFP == "":
spaceNum += 1
if readFP.startswith("#"):
noteNum += 1
print("\n该文件共有%d行代码" %codeNum)
print("其中%s行空行" %spaceNum)
print("其中%s行注释" %noteNum)