python显示代码行数,统计python代码行数小工具

统计python代码行数小工具

统计python代码行数小工具

[var1]

1 定义统计代码行的函数(实现算法)

声明变量分别存储文件个数、代码总行数、空行数、注释行数

使用os.walk遍历整个目录

使用for file_name in files,拿到每个文件的文件名

使用os.path.join将目录名和文件名,拼成一个绝对路径

用切片file_path[-3:] == “.py” 判断是否为python代码文件

如果是的话,则文件个数(file_count)+1

with方式,使用绝对路径,打开这个文件

使用for遍历文件的每一行,然后代码总行数(line_count)+=1

如果每行使用strip()方法后为空,则表示为空行,空行数(empty_line_count)+1

使用切片,如果每行第一个字符line[0]为“#”,则表示该行为注释行,注释行数(comment_line_count)+1

import os

def get_count_codelines(dir_path): #定义统计代码行的函数

file_count = 0

all_line_count = 0

empty_line_count = 0

comment_line_count = 0

for root, dirs, files in os.walk(dir_path):

for file_name in files:

file_path = os.path.join(root, file_name)

if file_path[-3:] == ".py": #判断是否为python代码文件

file_count += 1 #统计文件个数

with open(file_path, 'r', encoding="utf-8") as fp:

for line in fp:

all_line_count += 1 #统计所有的行数

if line.strip() == "":

empty_line_count += 1 #统计空行数

if line[0] == "#":

comment_line_count += 1 #统计注释行数

return (file_count,all_line_count,empty_line_count,comment_line_count)

2 使用Tkinter,做一个简单的图形界面

通过from tkinter import * 引用tkinter 包的所有方法

定义一个文本输入框,用于输入指定的目录路径

定义Button的事件处理函数,获取指定目录,并调用代码统计函数,返回代码统计信息

定义提交按钮,并指定Button的事件处理函数

from tkinter import *

windows = Tk()

windows.title("统计代码行数小工具") #设置标题

windows.geometry("550x250")

L1 = Label(windows, text="输入目录路径,点【提交】后进行代码行统计") #创建一个标签,显示提示信息

E1 = Entry(windows, bd =5,width=200) #定义文本框

L1.pack()

E1.pack()

def clicked(): #定义Button的事件处理函数

dir_path=E1.get() #获取文本框中的目录路径

msg_codelines = get_count_codelines(dir_path) #调用统计代码行的函数

file_count = msg_codelines[0]

all_line_count = msg_codelines[1]

empty_line_count = msg_codelines[2]

comment_line_count = msg_codelines[3]

L2.configure(text="代码文件总数:%s 个\n总代码行:%s 行\n空行:%s 行\n注释行:%s 行"

%(file_count,all_line_count,empty_line_count,comment_line_count))

button = Button(windows,text="提交",command=clicked) #定义“提交”按钮,并指定Button的事件处理函数

button.pack()

L2 = Label(windows,text = "",bg='white',width=200,height=10) #创建一个标签,用于展示统计的代码行信息

L2.pack()

windows.mainloop()

3 实现效果

未进行统计前效果

60083f275e334c6c38dbad95cdca4584.png

输入目录路径,提交统计后效果

8670ef971532a4b5d2c080c6df549033.png

统计python代码行数小工具相关教程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值