你与黑客之间差了多少行Python代码?

雷布斯曾说过:“必须写够十万行代码,不要心存侥幸。没有写过足够代码量的,想成为高手是不可能的,只能纸上谈兵!”,看来要成一名黑客10万代码量也许只是个起步。那么自己与黑客差了多少呢,要不咱统计一下吧。
编写思路
程序的编写思路其实很简单:统计自己编写过的.py文件,然后统计文件行数累加到一起就ok。
os.walk这个方法可以统计当前目录下所有的文件、子目录、子目录下的文件,有了这个数据,我们只需要排除掉不需要的,统计以.py为结尾的文件目录地址加入一个列表即可。
有了所有.py文件的列表,循环迭代出每个文件的行数,加到一起总数据就出来了。具体实现请看代码:
import os
def getpys(dir):
'''
递归获得当前目录及其子目录中所有的.py文件列表。
'''
pys = []
# 当前目录下所有的文件、子目录、子目录下的文件。
for root, dirs, files in os.walk(dir):
for name in files:
#排除掉git目录中的备份的文件,只保留.py文件
if '.git' not in root and name.endswith('.py'):
pys.append(os.path.join(root, name))
#下边是拼装所有目录
# for name in dirs:
# print(os.path.join(root, name))
return pys
pys = getpys(os.path.dirname(__file__))
# print(pys)
hacker=100000#假设黑客需要10万行代码才能练成
lines = 0
for file in pys:
with open(file, mode='r', encoding='utf8') as f:
lines = lines + len(f.readlines())#统计每个文件的行数。
print("累计编写了源文件{0}个,手打{1}行Python代码,完成度{2:.2f}%".format(len(pys),lines,lines/hacker*100))
print("距离成为一名黑客还差{0}行代码".format(hacker-lines))
累计编写了源文件32个,手打2133行Python代码,完成度2.13% 距离成为一名黑客还差97867行代码
这个数量有点惨。。。不过我会努力的。
本文源码下载:
标签: Python基础
相关文章
- 解决错误 ERROR [WinError 10049] 在其上下文中,该请求的地址无效。
- 如何在Python程序中使用配置文件.ini(ConfigParser)
- Python os.mknod 运行报错无法创建文件
- Python os.path.dirname(__file__) 在终端命令行下报错
- 聊聊Python中的递归与快速排序那点事
- 妙用IPython学习Python--IPython快速上手
- Python生成器yield应用实例——监控日志
- 如何快速的复习学习过的Python
- python中导入不同目录中的自定义模块/class/函数/方法
- 浅谈Python中的协程及利用协程代替多线程及多进程并发编程
- 聊聊Python中晦涩的生成器(yield)与生成器表达式
- Python中创建TCP服务器与客户端进行通信(下)Tk、thread与socket组合。
- Python中创建TCP服务器与客户端进行通信(上)
- Python程序在Windows10终端运行中文乱码解决方法
- 聊聊Python闭包(Closure)的那点事。
- Python并发编程(下)功能强大设置简单的分布式多进程生产者与消费者模式
- Python并发编程(上)进程模块multiprocessing模块和Process类
- Python多线程编程(下)多线程锁 threading.Lock
- Python多线程编程(上)多线程创建的几种方法
- python 类的静态方法和类方法
- Python面向对象编程(OOP)初探
- Python random 随机数模块操作总结
- Python3 datetime模块的时间操作
- python3函数学习笔记简单总结
- PythonINI配置文件读写的简单方法
- Python open()函数文件打开、读、写操作总结
- Python os.path模块中一些常用方法的整理总结
- Python 采集数据三步曲之[Requests + re.py模块进行数据采集]
- Python 采集数据三步曲之[Requests开源协议的HTTP 库]
- Python 采集数据三步曲之[正则表达式 re.py]
- python3 Markdown模块解析Markdown代码
- 创建python 虚拟环境 venv