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

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

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

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

# 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) # 列出當前路徑下的全部內容
    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)完成了{}%\n離十萬行代碼還差{}行'.format(
        total_line_num,
        (total_line_num / 100000) * 100,
        100000 - total_line_num),
      title='統(tǒng)計結果',
      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)計代碼行操作')

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

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

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

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

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

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

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

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

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

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

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

    這篇文章主要介紹了python web應用程序之Django數(shù)據(jù)庫,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    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應用于Flask之中,非常具有實用價值,需要的朋友可以參考下
    2018-11-11
  • python實現(xiàn)調用攝像頭并拍照發(fā)郵箱

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

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

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

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

最新評論

山东省| 巴林左旗| 铜山县| 胶州市| 日喀则市| 日喀则市| 左云县| 南阳市| 蒙自县| 东平县| 辉县市| 汝州市| 祁东县| 湟源县| 竹山县| 治县。| 襄樊市| 晋宁县| 新田县| 泰宁县| 通州区| 西安市| 瑞金市| 比如县| 宁国市| 信阳市| 东乡| 二连浩特市| 阳西县| 阿尔山市| 新营市| 呼伦贝尔市| 余江县| 贵南县| 仁寿县| 内丘县| 牟定县| 广平县| 南汇区| 大余县| 泸水县|