python 获取文件后缀名

Python018

python 获取文件后缀名,第1张

我写了个小文件,希望能帮到楼主

=========count_file.py=============

#coding:utf-8

import os

'''

使用os.walk()统计文件类型

'''

#定义result字典用来存储

result = {}

for directory, folders, files in os.walk('/home/zhulei'):

for f in files:

if '.' in f:

#获得文件类型

file_type = f.rsplit('.',1)[1]

if result.has_key(file_type):

result[file_type] += 1

else:

result[file_type] = 1

print "文件类型\t\t个数"

print "="*40

for type, count in sorted(result.items(),key=lambda x:x[1],reverse=True):

if len(type) >= 8:

print "%s\t\t%s" % (type, count)

else:

print "%s\t\t\t%s" % (type, count)

==============================

运行结果:

%python count_file.py

文件类型个数

========================================

png 2107

c 1639

h 1276

py 1160

gif 1017

svn-base966

TXT 899

jpg 831

html539

...

...

...

python中有五种下划线命名;

(1)单前导下划线: var

以单个下划线开头的变量或方法仅供内部使用,但是不强制执行。通过类名.变量名依然可以引用,但是在使用通配符导入模块(from 模块 import *)时,不能调用使用下划线定义的函数,而常规导入(import 模块)是可以调用的。

(2)单末尾下划线:var

当最符合当前函数的变量名被占用,则可以使用_来解决命名冲突。单个末尾下划线(后缀)是一个约定,用来避免与Python关键字产生命名冲突。

(3)双前导下划线:_ var

双下划线前缀会导致Python解释器重写属性名称,以避免子类中的命名冲突。

这也叫做名称修饰(name mangling) - 解释器更改变量的名称,以便在类被扩展的时候不容易产生冲突。

(4)双前导和末尾下划线: var

Python保留了有双前导和双末尾下划线的名称,用于特殊用途。 这样的例子有, init 对象构造函数,或 call --- 它使得一个对象可以被调用。最好避免在自己的程序中使用以双下划线(“dunders”)开头和结尾的名称,以避免与将来Python语言的变化产生冲突。

(5)单下划线:

有时候单个独立下划线是用作一个名字,来表示某个变量是临时的或无关紧要的。单个下划线仅仅是一个有效的变量名称,会有这个用途而已。

总结:

参考: Python中下划线的5种含义

这里要用到winrar这个软件。首先用winrar打开以上的那个文件夹所在目录,然后单击“文件夹名.{208d2c60-3aea-1069-a2d7-08002b30309d}”把“.{208d2c60-3aea-1069-a2d7-08002b30309d}”这个后缀去掉,ok,回到这个目录,看,文件夹恢复了!