亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python 遍歷文件夾,統(tǒng)計(jì)所有不同后綴的文件數(shù)量與比例

瀏覽:109日期:2022-08-21 15:31:08

問(wèn)題描述

在Github上經(jīng)常看到項(xiàng)目里不同語(yǔ)言的占比,突然想寫(xiě)一個(gè)試試。

Python 遍歷文件夾,統(tǒng)計(jì)所有不同后綴的文件數(shù)量與比例

自己寫(xiě)完一個(gè)殘缺的,感覺(jué)肯定不是最優(yōu)解,所以來(lái)請(qǐng)教大家的寫(xiě)法。謝謝。

!/usr/bin/env pythoncoding:utf-8

import os

if name == ’__main__’:

work_space = os.getcwd()pycount = 0javacount = 0jscount = 0wecount = 0othercount = 0total = 0print work_spaceprint ’正在計(jì)算比例,請(qǐng)稍候.....’.decode(’utf-8’)for path, dir, file_arr in os.walk(’./’): for file_name in file_arr:javasuffix = file_name[-5:]pysuffix = file_name[-3:]if cmp(pysuffix, ’.py’) == 0: pycount += 1elif cmp(pysuffix, ’.js’) == 0: jscount += 1elif cmp(javasuffix, ’.java’) == 0: javacount += 1elif cmp(pysuffix, ’.we’) == 0: wecount += 1else: othercount += 1total = pycount + jscount + javacount + wecount + othercounttotal = float(total)print ’計(jì)算完成: 總文件數(shù) : %d ’.decode(’utf-8’) % totalprint ’文件數(shù) Java: %d js: %d py: %d we: %d others: %d ’.decode(’utf-8’) % ( javacount, jscount, pycount, wecount, othercount)print ’所占比例 Java: %.2f%% js:%.2f%% py:%.2f%% we:%.2f%% others:%.2f%%’.decode(’utf-8’) % ( javacount / total * 100, jscount / total * 100, pycount / total * 100, wecount / total * 100, othercount / total * 100)

問(wèn)題解答

回答1:

#coding: utf-8import osfrom itertools import groupbyfile_lst = []for path, dir, files in os.walk(’./’): file_lst += filesfile_count = len(file_lst) * 1.0for key, lst in groupby(file_lst, key=lambda x: os.path.splitext(x)[1]): print key, round(len(list(lst))/file_count, 2)

看第二種:

#coding: utf-8import osfrom collections import defaultdictfile_count = 1.0res = defaultdict()for path, dir, files in os.walk(’./’): file_count += len(files) for file in files:suf = os.path.splitext(file)[1]res[suf] = res.setdefault(suf, 0) + 1for k, v in res.iteritems(): print k, round(v/file_count, 4) * 100回答2:

改進(jìn)后的

# coding: utf-8import osfrom itertools import groupbydef getpercent(num): return str(round(num / file_count * 100, 2))def getresult(): for key in language_dict:print ’%s count:%d percent:%s%%’ % (key, language_dict.get(key), getpercent(language_dict[key]))if __name__ == ’__main__’: file_lst = [] language_dict = {} for path, dirs, files in os.walk(’./’):file_lst += files file_count = len(file_lst) * 1.0 for key, lst in groupby(file_lst, key=lambda x: os.path.splitext(x)[1]):if key not in language_dict.keys(): language_dict[key] = len(list(lst))else: language_dict[key] = language_dict.get(key) + len(list(lst)) getresult()

標(biāo)簽: Python 編程
主站蜘蛛池模板: 亚洲国产一区二区三区a毛片 | 99国产高清久久久久久网站 | 亚洲国产一区二区三区a毛片 | 国产视频精品久久 | 87精品福利视频在线观看 | 国产精品欧美日韩 | 国产高清免费在线 | 美国毛片网站 | 91视频99| 看一级毛片国产一级毛片 | 久久香蕉国产线看免费 | 国产中的精品一区的 | 久久91这里精品国产2020 | 91国内视频 | 国产片在线天堂av | 久久久精品久久视频只有精品 | 美女张开腿让男人桶的 视频 | 欧美日韩在线视频一区 | 亚洲人成影院在线高清 | 久草视频在线资源 | 欧美激情一区二区亚洲专区 | 美女张开腿给男人桶 | 日韩精品a | 国产精品久久久久久久hd | 男女一级爽爽快视频 | 成年人免费看视频 | 男人的天堂久久 | www.久久| 欧美成人全部免费观看1314色 | 污全彩肉肉无遮挡彩色 | 国内自拍在线视频高清 | 清纯唯美综合网 | 久久精品国产精品亚洲20 | 国产第一区二区三区在线观看 | 99视频免费观看 | 久久免费精品国产72精品剧情 | 中文字幕在线乱码不卡区区 | 久久久网站 | 在线看国产 | 一本大道香蕉大vr在线吗视频 | 色视频在线观看视频 |