Python 練習冊 0007題 (統(tǒng)計代碼)

第 0007 題:有個目錄阶淘,里面是你自己寫過的程序愈涩,統(tǒng)計一下你寫過多少行代碼蚌本。包括空行和注釋,但是要分別列出來塞耕。

答案

import os


# 查找目錄下所有文件夾中的py文件
def get_all_file(path):
    file_list = []
    files = os.listdir(path)
    for file in files:
        # 判斷是否是文件夾
        if os.path.isdir(path + '\\' + file):
            print('處理文件夾:' + file)
            file_list = file_list + get_all_file(path + '\\' + file)
        else:
            if os.path.splitext(file)[1] == '.py':
                file_list.append(path + '\\' + file)
                print('添加文件:' + file)
    return file_list


# 計算一個py文件的代碼行數(shù)蚀腿, 注釋數(shù), 空格數(shù)
def get_rows(file):
    with open(file, encoding='utf8') as f:
        lines = f.readlines()
        rows = len(lines)  # 代碼總行數(shù)
        vuui = 0           # 注釋數(shù)
        space = 0          # 空格數(shù)
        for line in lines:
            if line == '\n':
                space += 1
            if line[0] == '#':
                vuui += 1

        data = {
            'rows': rows,
            'vuui': vuui,
            'space': space
        }
    return data


def run(path):
    file_list = get_all_file(path)

    all_rows = 0     # 總代碼數(shù)
    all_vuui = 0     # 總注釋數(shù)
    all_space = 0    # 總空格數(shù)

    for file in file_list:
        data = get_rows(file)
        print('正在計算行數(shù):' + file)
        rows = data.get('rows')
        vuui = data.get('vuui')
        space = data.get('space')
        all_rows += rows
        all_vuui += vuui
        all_space += space
    print('所有代碼的行數(shù):{}\n其中包括的注釋行數(shù):{}\n其中空格行數(shù):{}'.format(all_rows, all_vuui, all_space))


path = r'C:\Users\L\Desktop\vue-blog\backend'
run(path=path)

得到結(jié)果如下


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市莉钙,隨后出現(xiàn)的幾起案子廓脆,更是在濱河造成了極大的恐慌,老刑警劉巖磁玉,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件停忿,死亡現(xiàn)場離奇詭異,居然都是意外死亡蚊伞,警方通過查閱死者的電腦和手機席赂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來时迫,“玉大人颅停,你說我怎么就攤上這事÷尤” “怎么了癞揉?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長溺欧。 經(jīng)常有香客問我喊熟,道長,這世上最難降的妖魔是什么姐刁? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任芥牌,我火速辦了婚禮,結(jié)果婚禮上龙填,老公的妹妹穿的比我還像新娘胳泉。我一直安慰自己,他們只是感情好岩遗,可當我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布扇商。 她就那樣靜靜地躺著,像睡著了一般宿礁。 火紅的嫁衣襯著肌膚如雪案铺。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天梆靖,我揣著相機與錄音控汉,去河邊找鬼。 笑死返吻,一個胖子當著我的面吹牛姑子,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播测僵,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼街佑,長吁一口氣:“原來是場噩夢啊……” “哼谢翎!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起沐旨,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤森逮,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后磁携,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體褒侧,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年谊迄,在試婚紗的時候發(fā)現(xiàn)自己被綠了闷供。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡鳞上,死狀恐怖这吻,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情篙议,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布怠硼,位于F島的核電站鬼贱,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏香璃。R本人自食惡果不足惜这难,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望葡秒。 院中可真熱鬧姻乓,春花似錦、人聲如沸眯牧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽学少。三九已至剪个,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間版确,已是汗流浹背扣囊。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留绒疗,地道東北人侵歇。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像吓蘑,于是被迫代替她去往敵國和親惕虑。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,525評論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)枷遂,斷路器樱衷,智...
    卡卡羅2017閱讀 134,601評論 18 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法酒唉,內(nèi)部類的語法矩桂,繼承相關(guān)的語法,異常的語法痪伦,線程的語...
    子非魚_t_閱讀 31,587評論 18 399
  • 我曾信誓旦旦地說不會再放進心里侄榴,可相同的情況再出現(xiàn)一次時,我卻怎么也掌控不了心的溫度网沾。身邊的好多東西癞蚕,突然就變了。
    折頸公主閱讀 216評論 0 0
  • 寫了好幾次計劃了辉哥,這周實施的并不好桦山。今天一天沒有去圖書館,但是自己在看英語視頻課醋旦,前幾天剛考試完進入圖書館靜不下心...
    vision的博士生活閱讀 127評論 1 1