惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Hugging Face - Blog
Hugging Face - Blog
量子位
H
Help Net Security
Microsoft Azure Blog
Microsoft Azure Blog
MongoDB | Blog
MongoDB | Blog
小众软件
小众软件
爱范儿
爱范儿
博客园 - 【当耐特】
Vercel News
Vercel News
S
SegmentFault 最新的问题
M
MIT News - Artificial intelligence
F
Fortinet All Blogs
Apple Machine Learning Research
Apple Machine Learning Research
GbyAI
GbyAI
博客园 - 叶小钗
博客园_首页
V
Visual Studio Blog
宝玉的分享
宝玉的分享
B
Blog
MyScale Blog
MyScale Blog
C
Check Point Blog
博客园 - 三生石上(FineUI控件)
L
LangChain Blog
V
V2EX

碎言

不懂就别瞎掰掰:【程序员的常识】写的什么玩意? AI 辅助编程下的程序设计与代码编写 使用 Next.js 和 Tailwind CSS 构建可编辑和删除的 ToDo 待办事项应用 探索编程新境界:MarsCode 助你一臂之力 使用 Next.js 和 Tailwind CSS 搭建静态图片展示站点并部署到 Vercel AI 辅助编程:免费工具的优缺点及官网一览 GitHub push更新总是失败,写个python脚本解决 把博客从GitHub迁移到到了vercel ComfyUI 和 Flux.1 安装与使用教程 Flux.1 入门必知:硬件、环境、模型 Git项目的子文件夹中的内容无法同步到远程仓库的解决方法 blender流体Fluid使用中没有流体、流体穿模等一些问题的解决方法 博客聚合网站:积薪,竟然关闭了! blender日常使用中的一些技巧 虽然只有我自己在用,但还是更新了碎言博客的源代码, 与其在迷茫中困惑,不如在努力中前进 差点忘了我还有一个博客... 秧歌、博客和AI 终于熬到了新手上路 好久没有更新博客了。。。 老妈大腿骨骨折,最近一直在医院护理 Hello, September! Ubuntu开机自动启动Docker容器运行WordPress Docker 简单快速安装部署WordPress Docker下安装MySQL 加碘盐能防核辐射的话,还怕什么核战争? shields.io 一个简洁、一致、清晰的徽章 Ubuntu下使用root登录ssh的设置 GitHub Actions 构建、部署 Next.js项目 我又用回了"IE"--edge
你与黑客之间差了多少行Python代码?
J.sky · 2017-10-10 · via 碎言

输入图片说明

雷布斯曾说过:“必须写够十万行代码,不要心存侥幸。没有写过足够代码量的,想成为高手是不可能的,只能纸上谈兵!”,看来要成一名黑客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行代码

这个数量有点惨。。。不过我会努力的。

本文源码下载: