国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

Python 遍歷文件夾,統計所有不同后綴的文件數量與比例

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

問題描述

在Github上經常看到項目里不同語言的占比,突然想寫一個試試。

Python 遍歷文件夾,統計所有不同后綴的文件數量與比例

自己寫完一個殘缺的,感覺肯定不是最優解,所以來請教大家的寫法。謝謝。

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

import os

if name == ’__main__’:

work_space = os.getcwd()pycount = 0javacount = 0jscount = 0wecount = 0othercount = 0total = 0print work_spaceprint ’正在計算比例,請稍候.....’.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 ’計算完成: 總文件數 : %d ’.decode(’utf-8’) % totalprint ’文件數 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)

問題解答

回答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:

改進后的

# 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()

標簽: Python 編程
主站蜘蛛池模板: 欧美国产精品不卡在线观看 | 在线免费观看一级毛片 | 亚洲一区二区中文字幕 | 手机看片自拍自自拍日韩免费 | 国产日韩亚洲不卡高清在线观看 | 国产免费高清福利拍拍拍 | 99re热在线视频 | 久久综合久久美利坚合众国 | 成人男女18免费o | 亚洲人成网站色7799在线观看 | 99视频在线看观免费 | 一区二区三区四区在线免费观看 | 99精品视频一区在线观看miya | 中国美女一级看片 | 国产一级毛片视频在线! | 精品欧美一区二区精品久久 | 亚洲男人第一天堂 | 国产精品高清一区二区 | 日本b站一卡二卡乱码入口 日本s色大片在线观看 | 另类视频综合 | 久久不见久久见免费影院www日本 | 在线国产视频 | 国内亚州视频在线观看 | 久久精品国产免费看久久精品 | 日韩国产成人资源精品视频 | 日韩国产欧美一区二区三区 | 欧美特级毛片aaaa | 欧美视频一二三区 | 久久免费视频99 | 在线观看自拍视频 | 337p粉嫩大胆噜噜噜鲁 | 久青草免费视频手机在线观看 | 久热久草 | 在线 中文字幕 日韩 欧美 | 99视频网址 | 国产高清在线精品一区二区三区 | 另类欧美日韩 | 欧美专区一区二区三区 | 日本特黄a级高清免费酷网 日本特黄特色 | 久久精品香蕉 | 国产成人最新毛片基地 |