欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

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

# 全局變量 總行數(shù)
total_line_num = 0
# 字典存儲(chǔ) 每一種類型文件的代碼行數(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)計(jì)
          pass
        else:
          func1(path_plus)
      elif os.path.isfile(path_plus):
        try:
          with open(path_plus, 'r') as f:
            # 每個(gè)文件的代碼行數(shù)
            line_num = 0
            for eachline in f:
              global total_line_num # 聲明全局變量
              total_line_num += 1
              line_num += 1
            '''
            將each分割出后綴名,存儲(chǔ)在字典中
            '''
            (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('該路徑只是一個(gè)文件', '提示')
    sys.exit(0)


if __name__ == '__main__':
  try:
    dir = g.diropenbox('請(qǐng)選擇的你的代碼庫', '瀏覽文件夾', 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)計(jì)結(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)計(jì)代碼行操作')

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

相關(guān)文章

  • python sys模塊sys.path使用方法示例

    python sys模塊sys.path使用方法示例

    這篇文章主要介紹了python sys模塊sys.path使用方法,大家參考使用
    2013-12-12
  • Python實(shí)例之wxpython中Frame使用方法

    Python實(shí)例之wxpython中Frame使用方法

    本文介紹下wxpython中Frame的用法,不錯(cuò)的python編程實(shí)例,有需要的朋友參考下
    2014-06-06
  • python實(shí)現(xiàn)飛機(jī)大戰(zhàn)微信小游戲

    python實(shí)現(xiàn)飛機(jī)大戰(zhàn)微信小游戲

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)飛機(jī)大戰(zhàn)微信小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • Python中Class類用法實(shí)例分析

    Python中Class類用法實(shí)例分析

    這篇文章主要介紹了Python中Class類用法,以實(shí)例形式較為詳細(xì)的分析了Python中類的定義及相關(guān)使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-11-11
  • Python使用Opencv實(shí)現(xiàn)邊緣檢測(cè)以及輪廓檢測(cè)的實(shí)現(xiàn)

    Python使用Opencv實(shí)現(xiàn)邊緣檢測(cè)以及輪廓檢測(cè)的實(shí)現(xiàn)

    這篇文章主要介紹了Python使用Opencv實(shí)現(xiàn)邊緣檢測(cè)以及輪廓檢測(cè)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • python實(shí)現(xiàn)在一個(gè)畫布上畫多個(gè)子圖

    python實(shí)現(xiàn)在一個(gè)畫布上畫多個(gè)子圖

    今天小編就為大家分享一篇python實(shí)現(xiàn)在一個(gè)畫布上畫多個(gè)子圖,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • numpy數(shù)組疊加的實(shí)現(xiàn)示例

    numpy數(shù)組疊加的實(shí)現(xiàn)示例

    本文主要介紹了numpy數(shù)組疊加的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • python 基于opencv 繪制圖像輪廓

    python 基于opencv 繪制圖像輪廓

    這篇文章主要介紹了python 基于opencv 繪制圖像輪廓的示例,幫助大家更好的利用python的opencv庫處理圖像,感興趣的朋友可以了解下
    2020-12-12
  • 解決python Markdown模塊亂碼的問題

    解決python Markdown模塊亂碼的問題

    今天小編就為大家分享一篇解決python Markdown模塊亂碼的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • Python常用內(nèi)建模塊hashlib、hmac詳解

    Python常用內(nèi)建模塊hashlib、hmac詳解

    這篇文章主要介紹了Python常用內(nèi)建模塊hashlib、hmac詳解,摘要算法又稱哈希算法、散列算法,它通過一個(gè)函數(shù),把任意長度的數(shù)據(jù)轉(zhuǎn)換為一個(gè)長度固定的數(shù)據(jù)串,需要的朋友可以參考下
    2023-08-08

最新評(píng)論