python自增列表 字典中的列表自增問題求教

2021-10-21 07:34:19 字數 2070 閱讀 1925

import easygui as g

import os

codingdict = {}

typedict={}

linecountdict={}

def choicecounttype():

'''選擇要統計哪些**檔案型別'''

global codingdict

global typedict

global linecountdict

choices = [".py", ".c", ".cpp", ".txt",".cs",".aspx"]  # 設定**檔案選項

usertype = g.multchoicebox(msg="請從下列列表中選擇要統計的**檔案型別!", title="**統計", choices=choices)

#codingdict = dict.fromkeys(usertype, [0, 0])  # 給型別字典賦初值  

typedict=dict.fromkeys(usertype,0)

linecountdict=dict.fromkeys(usertype,0)

dirpath = g.diropenbox()

return dirpath

def calc_code(paths,file_name):

'''統計有效**行的函式'''

codinglines = 0

with open(paths + "\" + file_name,errors="ignore") as fp:

print('正在分析檔案:%s ...' % file_name)

dateline = fp.readlines()

for line in dateline:

if line == "\n":

continue

elif line.startswith("#"):

continue

else:

codinglines+=1

return codinglines

def choicedir(dirpath):

'''用os.walk()遍歷計算檔案數量和有效**數分別存進對應列表中'''

global typedict

global linecountdict

for paths, dirs, files in os.walk(dirpath):

if len(files) > 0:  # 如果有檔案,就執行下一步的遍歷檔案列表

for file in files:

ext = os.path.splitext(file)[1]  # 切片出型別,然後判斷出型別在不在程式設計型別檔案裡

if ext in typedict.keys():  # 如果切出來的型別在字典的key中

lines=calc_code(paths,file)   #呼叫函式算出現在迴圈到的這個檔案有多少有效**行數

typedict[ext]+=1        #基於這個key給typedict賦值,統計現在這個檔案型別的檔案數量

linecountdict[ext]+=lines   #基於這個key給linecountdict賦值,統計現在這個型別的檔案有多少有效行數

def showresult():

msg=""

text=""

title="統計結果"

totallines=0

for i in linecountdict.keys():

for each in typedict.keys():

if i==each:

text += (f"型別的檔案有個,共計有效**量行\n")

totallines+=linecountdict[i]

#print(totallines)

msg=f"您目前共累積編寫了行**,完成進度:%\n離 10 萬行**還差行,請繼續努力!"

g.textbox(msg, title, text)

openpath = choicecounttype()

choicedir(openpath)

showresult()

python列表,字典

1字串處理 s.startswith adfaas s這個字串是不是以adfaas開始 s.endswith adfaas s這個字串是不是以adfaas結束 s.find substring,start end 可指範圍查詢子串,返回索引值,否則返回 1 s.rfind substring,sta...

Python 列表 字典

陣列 只能儲存同一種資料型別的結構 元組tuple 定義列表 定義元組 元組被稱為被帶了緊箍咒的列表,那麼就證明元組與列表的功能類似,只是不如列表強大。元組是不可變的資料型別 不能修改元組中的元素 列表是可變資料型別,可以修改元素。那就有了增刪改查 拿出列表最後乙個元素,最後乙個元素是列表,再拿出列...

Python中的列表 字典 元組

1.索引,切片,加,乘,檢查成員 2.增加 刪除 連線分割 排序倒序 list1 1,2,3.0,4,5.0 list2 6 7 8 8 8 list3 one two three list4 1,2,3 print len list1 print list2.count 8 print list1...