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 解释器会到当前路 ......
为了让UE支持python语言,google了很多,结果都不行,最后看了下面的博客才知道错哪了,总结下以免忘记。
http://wangtao.name/2009/12/20/ultraedit_python.html
在官网上找到python的扩展下载点:http://www.ultraedit.com/downloads/extras.html
有各种语言的扩展,便可以支持语法高亮。
python 2.5:http://www.u ......
1. What’s the difference between all of the os.popen() methods?
popen2 doesn't capture standard error, popen3 does capture standard
error and gives a unique file handle for it. Finally, popen4 captures
standard error but includes it in the same file object as standard
output.
os.popen()&n ......
Python 元组
元组和列表十分类似,只不过元组和字符串一样是 不可变的 即你不能修改元组。元组通过圆括号中用逗号分割的项目定义。元组通常用在使语句或用户定义的函数能够安全地采用一组值的时候,即被使用的元组的值不会改变。
使用元组
例9.2 使用元组
#!/usr/bin/python
# Filename: using_tuple.py
zoo = ('wo ......
Python 序列
列表、元组和字符串都是序列,但是序列是什么,它们为什么如此特别呢?序列的两个主要特点是索引操作符和切片操作符。索引操作符让我们可以从序列中抓取一个特定项目。切片操作符让我们能够获取序列的一个切片,即一部分序列。
使用序列
例9.5 使用序列
#!/usr/bin/python
# Filename: seq.py
shoplist ......