有人说,大学生在校期间要码够10W行代码,也有人说,看的不是写代码的行数,而是修改代码的行数。。。

  不管谁说,说的人都挺牛的

  咳,首先给自己定个小目标吧,5W行代码!成天写代码,啥时候到5W呢?为了更准确的衡量自己,写了一个代码统计行数的小程序,初学编程的可以借鉴下,从开始统计自己的代码行数

  程序很简单,遍历代码文件的行数,将行数变量存放在本地文件中,可以在加个时间戳

 #coding=gbk
 import os
 import time
 from CountItem.FindCode import *

 n = 0
 '''查找历史记录的行数'''
 try:
     with open('TotalLines','r') as p:
         lastline = ''
         for lastline in p.readlines():
             pass
         index = lastline.find('>>')
         n = int(lastline[index+2:])
 except ValueError as e:
     n = 0
 except FileNotFoundError:
     n = 0
 '''文件列表'''
 fileList = input('输入文件名,多个文件名以空格分隔:')
 fileList = fileList = list(fileList.split(sep=' '))
 '''计算行数'''
 for filename in fileList:
     try:
         with open(filename,'r') as f:
             try:
                 lines = f.readlines()
             except UnicodeDecodeError:
                 '''编码错误,不用管,我们要的是行数'''
                 '''嗯,,掩耳盗铃'''
                 pass
             for s in lines:
                 '''不计入空行'''
                 if s == '\n':
                     continue
                 n += 1
     except FileNotFoundError as e:
         print('文件名或文件路径错误,没有该文件!')
         os.system('pause')
         os._exit(1)
     except OSError as e:
         print('文件名不合法')
         os.system('pause')
         os._exit(1)

 print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) + '代码行数>>' + str(n) + '\n')

 '''写入文件'''
 with open('TotalLines','a') as f:
     f.write(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) + '代码行数>>' + str(n) + '\n')
 os.system('pause')

python--代码统计小程序的更多相关文章

  1. 利用python实现微信小程序游戏跳一跳详细教程

    利用python实现微信小程序游戏跳一跳详细教程 1 先安装python 然后再安装pip <a href="http://newmiracle.cn/wp-content/uploa ...

  2. 采用pandas读取文件,进行自动化统计小程序

    自己完成的第二个自动化统计小程序,完成之后感觉:命名不够规范,造成可读性比较没那么好,幸好给自己很多地方都加了注释#coding:utf-8import os,sysimport reimport x ...

  3. 微信小程序开发:python+sanic 实现小程序登录注册

    开发微信小程序时,接入小程序的授权登录可以快速实现用户注册登录的步骤,是快速建立用户体系的重要一步.这篇文章将介绍 python + sanic + 微信小程序实现用户快速注册登录全栈方案. 微信小程 ...

  4. 将Python代码嵌入C++程序进行编写

    将Python代码嵌入C++程序进行编写的实例,python嵌入 把python嵌入的C++里面需要做一些步骤 安装python程序,这样才能使用python的头文件和库 在我们写的源文件中增加“Py ...

  5. Python代码统计工具

    目录 Python代码统计工具 声明 一. 问题提出 二. 代码实现 三. 效果验证 Python代码统计工具 标签: Python 代码统计 声明 本文将对<Python实现C代码统计工具(一 ...

  6. 【Python精华】100个Python练手小程序

    100个Python练手小程序,学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python. [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同 ...

  7. 整理了适合新手的20个Python练手小程序

    100个Python练手小程序,学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python. 本文附带基础视频教程:私信回复[基础]就可以获取的 [程序1] ...

  8. 【学习笔记】C#中HashTable和快速排序的用法,从单词频率统计小程序写起

    先瞎扯点别的.进入这个神圣的地方总需要些鞭策,阿西巴,我是被鞭策进来摆摊的程序猿.软件工程老师说,写程序,发博客,就来博客园.这是个号召力很强的口号.最近看网络营销 搜索引擎优化的书多一些,只能说王老 ...

  9. Python - 文件分发小程序

    一.概述 该小程序实现从源端到目标端的文件一键拷贝,源端和目标段都在一台电脑上面,只是目录不同而已 二.参数文件说明 1. settings.txt的说明 a. 通过配置settings.txt,填源 ...

随机推荐

  1. Spring配置注解详解

  2. 【Android Developers Training】 45. 控制音频焦点

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  3. 在线SVN仓库实现:金山快盘+TortoiseSVN(Win)+SCPlugin(Mac)

    前段时间一直在研究SVN在线托管,也尝试了网上推荐的免费托管网站. 但毕竟是是免费的,还是要受到比如空间大小.私有性等这样那样的限制,感觉有些麻烦. 而且,比较心疼自己在本地开发的时候积累的更新日志, ...

  4. JavaScript对象属性访问的两种方式

    JavaScript对象属性访问的两种方式 object.attribute object["attribute"] 例如: var employees = [ { "f ...

  5. 关于XML(可扩展标记语言)的基础知识与写法

    XML(Extensible Markup Language) HTML:超文本标记语言,主要用来展示   XML:可扩展标记语言,用来做数据传输XML特点:1.树状结构,有且只有一个根2.标签名自定 ...

  6. js 、jq强化复习

    JavaScript 显示数据 JavaScript 可以通过不同的方式来输出数据: 使用 window.alert() 弹出警告框. 使用 document.write() 方法将内容写到 HTML ...

  7. 用maven创建工程

    用maven创建工程 开始 mvn archetype:generate 遇到问题:冗长的工程原型列表和等待时间 改进 mvn archetype:generate -DarchetypeCatalo ...

  8. Unity 游戏框架搭建 (五) 简易消息机制

    什么是消息机制? 23333333,让我先笑一会. 为什么用消息机制?   三个字,解!!!!耦!!!!合!!!!. 我的框架中的消息机制用例: 1.接收者 ``` using UnityEngine ...

  9. 最近学习java时的记录

    1.java 的变量一共分为三种,类变量,局部变量,成员变量 类变量就是 加static修饰符的变量 2.java 的修饰符可分为两大类,一 可访问修饰符 protected private publ ...

  10. Java缓存框架使用EhCache结合Spring AOP

    一.Ehcache简介     EhCache是一个纯Java的进程内缓存框架,具有如下特点:     1. 快速简单,非常容易和应用集成.     2.支持多种缓存策略 .     3. 缓存数据有 ...