Python实现“各类型文件统计”功能
不多说了,直接看代码吧!
import os
path = 'e:/Download/'
kzm = []
kzmTemp = set()
kzmTemp2 = []
dict = {}
for root,dirs,files in os.walk(path):
for file in files:
ext = os.path.splitext(file)[1][1:]
kzm.append(ext)
#遍历目录path,这里用到的splitext()方法是将文件名和扩展名分开,后面的[1]代表取扩展名([0]的话就代表取文件名了),由于splitext()方法取扩展名的时候,是连分隔文件名和扩展名的‘.’一起取的,所以[1:]的作用的是去掉扩展名前面点
for i in range(len(kzm)):
kzm[i] = kzm[i].lower()
#全部变小写,避免例如exe和EXE系统会当做两种文件来处理的问题
for i in range(len(kzm)):
kzmTemp.add(kzm[i])
#将List转换为Set,目的是为了将Set中的所有元素作为Dict中的Key,因为Set会自动剔除重复的元素
kzmTemp2 = [i for i in kzmTemp]
for i in range(len(kzmTemp2)):
dict[kzmTemp2[i]] = 0
#这里构造了一个叫做dict的Dict(好绕嘴),并将所有的扩展名都作为dict的key,给所有的key都赋值为0
for i in range(len(kzm)):
dict[kzm[i]] += 1
#遍历数组kzm,统计各扩展名出现的次数,然后将这个数字赋值给dict中相应的key
print('统计的目录为:%s' % path)
for key in dict:
print('%s: %s' % (key,dict[key]))
代码一点也不优美,来回转换了N次数据类型,for了N次……‘
不过可以解决问题。知识有限,只能用一些“入门级”的方法去解决问题。
相关文档:
以前也写过一些关于 vim 环境变量的内容,使用 vim 和 python ,每一段时间后都会有新的体会,所以要不断总结了.
vim 针对 python 的万能补全: vim 当前进程需要找到相应补全模块库所在位置,此是就和 python 的path环境变量相关。
python 代码运行时: 对于import 的模块也需要确定它的具体位置,python 解释器会到当前路 ......
Including binaries in your sources
+y F J2A T&N1H f(L ]0
Sometime it's handy to include small files in your sources (icons, test files, etc.)CNOUG博客首页 P x z c W R K+x3{ N
CNOUG博客首页 h I A O$k-n P
Let's take a file (myimage.gif) and convert it in base64 (optionnaly compressing it wit ......
Python 序列
列表、元组和字符串都是序列,但是序列是什么,它们为什么如此特别呢?序列的两个主要特点是索引操作符和切片操作符。索引操作符让我们可以从序列中抓取一个特定项目。切片操作符让我们能够获取序列的一个切片,即一部分序列。
使用序列
例9.5 使用序列
#!/usr/bin/python
# Filename: seq.py
shoplist ......