一、总体思想
- 找到指定路径下的所有文件及文件夹
- 遍历该路径下的所有文件及文件夹,判断是文件还是文件夹
- 判断是文件之后,再判断文件后缀是否为py文件
- 对找到的py文件,按行读出
- 去除空行和注释行,统计代码行数
二、所用方法
os.listdir(path)
os.listdir(path)
功能:列出指定路径下的所有文件和子文件夹的名称
path:用于指定路径
返回值:返回指定文件夹中包含的文件或文件夹的名字列表
os.path.isfile(path)
os.path.isfile(path)
功能:判断指定路径是否为文件
path:用于指定文件路径
返回值:TRUE/FALSE
os.path.splitext(path)
os.path.splitext(path)
功能:将文件分割为文件名和后缀名
path:用于指定文件路径
返回值:元组(文件名,文件后缀)
三、整体代码
# #######总体思想:
# #######1.找到指定路径下的所有文件及文件夹
# #######2.遍历该路径下的所有文件及文件夹,判断是文件还是文件夹
# #######3.判断是文件之后,再判断文件后缀是否为py文件
# #######4.对找到的py文件,按行读出
# #######5.去除空行和注释行,统计代码行数
import os
# 1.指定路径
path = r'C:\Users\Administrator\PycharmProjects\pythonProject'
# 2.os.listdir(path)
# ######功能:列出指定路径下的所有文件和子文件夹的名称######
# ######path:用于指定路径##############################
# ######返回值:返回指定文件夹中包含的文件或文件夹的名字列表#
file_list = os.listdir(path)
print(file_list)
for file in file_list:
new_path = path + '\\' + file
print(new_path)
count = 0
# 3.os.path.isfile(path)
# #######功能:判断指定路径是否为文件#############
# #######path:用于指定文件路径######################
# #######返回值:TRUE/FALSE##############
if os.path.isfile(new_path):
# 4.os.path.splitext(path)
# #######功能:将文件分割为文件名和后缀名#############
# #######path:用于指定文件路径######################
# #######返回值:元组(文件名,文件后缀)##############
if os.path.splitext(new_path)[1] == '.py':
with open(new_path,'r',encoding='utf-8') as fp:
word_list = fp.readlines()
for word in word_list:
word = word.strip()
if word != '':
if word[0] != '#':
count = count + 1
print(count)