最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python3使用GUI統(tǒng)計代碼量

 更新時間:2019年09月18日 15:54:53   作者:jasonLee_lijiaqi  
這篇文章主要為大家詳細(xì)介紹了python3使用GUI統(tǒng)計代碼量,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了python3使用GUI統(tǒng)計代碼量的具體代碼,供大家參考,具體內(nèi)容如下

# coding=utf-8
'''
選擇一個路徑
遍歷路徑下的每一個文件,統(tǒng)計代碼量
字典存儲 每一種類型文件的代碼行數(shù),eg: *.py -> 行數(shù)
全局變量 總行數(shù)

需要注意的是,這里僅僅能打開utf-8編碼的文件,其他類型的文件無法打開,會出現(xiàn)解碼錯誤
解決方法:使用try-except語句,遇到解碼錯誤就跳過,即 except UnicodeDecodeError:
'''
import easygui as g
import sys
import os

# 全局變量 總行數(shù)
total_line_num = 0
# 字典存儲 每一種類型文件的代碼行數(shù),eg: *.py -> 行數(shù)
code_file_dict = {}


def func1(file_path):
  if os.path.isdir(file_path):
    file_list = os.listdir(file_path) # 列出當(dāng)前路徑下的全部內(nèi)容
    for each in file_list:
      path_plus = file_path + os.sep + each
      if os.path.isdir(path_plus):
        if os.path.basename(path_plus) in [
            'venv', '.idea']: # 如果目錄為venv或者.idea,則跳過,不統(tǒng)計
          pass
        else:
          func1(path_plus)
      elif os.path.isfile(path_plus):
        try:
          with open(path_plus, 'r') as f:
            # 每個文件的代碼行數(shù)
            line_num = 0
            for eachline in f:
              global total_line_num # 聲明全局變量
              total_line_num += 1
              line_num += 1
            '''
            將each分割出后綴名,存儲在字典中
            '''
            (temp_path, temp_name) = os.path.basename(each).split('.')
            temp = '.' + temp_name
            global code_file_dict
            if temp not in code_file_dict:
              code_file_dict[temp] = line_num
            else:
              code_file_dict[temp] += line_num
        except UnicodeDecodeError:
          pass
  else:
    g.msgbox('該路徑只是一個文件', '提示')
    sys.exit(0)


if __name__ == '__main__':
  try:
    dir = g.diropenbox('請選擇的你的代碼庫', '瀏覽文件夾', default='.')
    func1(dir)
    print(code_file_dict)
    g.textbox(
      '總行數(shù)為:{}\n已經(jīng)完成了{(lán)}%\n離十萬行代碼還差{}行'.format(
        total_line_num,
        (total_line_num / 100000) * 100,
        100000 - total_line_num),
      title='統(tǒng)計結(jié)果',
      text=[
        '{a}類型的代碼有行\(zhòng)n'.format(a=k,b=v) for k,v in code_file_dict.items()],
      codebox=1)
  except TypeError as reason:
    g.msgbox('取消了統(tǒng)計代碼行操作')

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python使用any判斷一個對象是否為空的方法

    python使用any判斷一個對象是否為空的方法

    這篇文章主要介紹了python使用any判斷一個對象是否為空的方法,并給出了改進(jìn)的方法供大家對比參考,具有一定的借鑒價值,需要的朋友可以參考下
    2014-11-11
  • 最新python正則表達(dá)式(re模塊)詳解

    最新python正則表達(dá)式(re模塊)詳解

    在Python中需要通過正則表達(dá)式對字符串進(jìn)?匹配的時候,可以使??個python自帶的模塊,名字為re,這篇文章主要介紹了python正則表達(dá)式(re模塊)詳解,需要的朋友可以參考下
    2023-01-01
  • 解決Python 中英文混輸格式對齊的問題

    解決Python 中英文混輸格式對齊的問題

    今天小編就為大家分享一篇解決Python 中英文混輸格式對齊的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • 一步步教你用python代碼畫一幅星空

    一步步教你用python代碼畫一幅星空

    這篇文章主要給大家介紹了關(guān)于如何使用python代碼畫一幅星空的相關(guān)資料,Python是一種非常流行的編程語言,它可以用來創(chuàng)建許多有趣的項目,例如繪制星空,需要的朋友可以參考下
    2023-09-09
  • python web應(yīng)用程序之Django數(shù)據(jù)庫詳解

    python web應(yīng)用程序之Django數(shù)據(jù)庫詳解

    這篇文章主要介紹了python web應(yīng)用程序之Django數(shù)據(jù)庫,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2024-06-06
  • python創(chuàng)建n行m列數(shù)組示例

    python創(chuàng)建n行m列數(shù)組示例

    今天小編就為大家分享一篇python創(chuàng)建n行m列數(shù)組示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python  中的pass語句語法詳析

    Python  中的pass語句語法詳析

    這篇文章主要介紹了Python 中的pass語句語法詳析,pass是一種空操作(null operation),解釋器執(zhí)行到它的時候,除了檢查語法是否合法,什么也不做就直接跳過
    2022-07-07
  • 詳解Python下Flask-ApScheduler快速指南

    詳解Python下Flask-ApScheduler快速指南

    Flask是Python社區(qū)非常流行的一個Web開發(fā)框架,本文將嘗試將介紹APScheduler應(yīng)用于Flask之中,非常具有實(shí)用價值,需要的朋友可以參考下
    2018-11-11
  • python實(shí)現(xiàn)調(diào)用攝像頭并拍照發(fā)郵箱

    python實(shí)現(xiàn)調(diào)用攝像頭并拍照發(fā)郵箱

    這篇文章主要介紹了python實(shí)現(xiàn)調(diào)用攝像頭并拍照發(fā)郵箱的程序,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-04-04
  • Python+?Flask實(shí)現(xiàn)Mock?Server詳情

    Python+?Flask實(shí)現(xiàn)Mock?Server詳情

    這篇文章主要介紹了Python+?Flask實(shí)現(xiàn)Mock?Server詳情,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09

最新評論

沽源县| 启东市| 紫云| 辉南县| 卢湾区| 民乐县| 渝北区| 建德市| 保定市| 绥滨县| 高淳县| 玉树县| 米脂县| 高台县| 西和县| 公安县| 延边| 平山县| 安陆市| 孟村| 青阳县| 沁水县| 定西市| 得荣县| 贞丰县| 千阳县| 化州市| 厦门市| 建水县| 舒城县| 子长县| 丽水市| 黑水县| 博爱县| 垣曲县| 翁源县| 绥化市| 紫阳县| 广平县| 阳西县| 喀喇沁旗|