python 获取文件后缀名

Python018

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

#!/usr/bin/python

import

os

dict

=

{}

for

d,

fd,

fl

in

os.walk('/home/ahda/Program/'):

for

f

in

fl:

sufix

=

os.path.splitext(f)[1][1:]

if

dict.has_key(sufix):

dict[sufix]

+=

1

else:

dict[sufix]

=

1

for

item

in

dict.items():

print

"%s

:

%s"

%

item

这里的关键是os.path.splitext()

这是跟楼上不同的地方。如abc/ef.g.h

楼上出来的后缀会是g.h

而我的是h

Python程序的扩展名有.py、.pyc、.pyo和.pyd。.py是源文件,.pyc是源文件编译后的文件,.pyo是源文件优化编译后的文件,.pyd是其他语言写的Python库。

在写Python程序时我们常见的扩展名是py,pyc,其实还有其他几种扩展名。以下是详细内容介绍:

py:py就是最基本的源码扩展名。Windows下直接双击运行会调用Python.exe执行。

pyw:pyw是另一种源码扩展名,跟py唯一的区别是在Windows下双击pyw扩展名的源码会调用Pythonw.exe执行源码,这种执行方式不会有命令行窗口。主要用于GUI程序发布时不需要看到控制台信息的情况。

pyc:在执行Python代码时经常会看到同目录下自动生成同名的pyc文件。这是Python源码编译后的字节码,一般会在代码执行时自动生成你代码中引用的py文件的pyc文件。这个文件可以直接执行,用文本编辑器打开也看不到源码。

pyo:pyo是跟pyc类似的优化编码后的文件。

pyd:pyd并非从Python程序生成,而是其他语言写成的可以被Python调用的扩展。

python文件后缀一般有两个,分别是.py和.pyw

视窗用 python.exe 运行 .py ,用 pythonw.exe 运行 .pyw 。

这纯粹是因为安装视窗版 Python 时,扩展名 .py 自动被登记为用 python.exe 运行的文件,

而 .pyw 则被登记为用 pythonw.exe 运行。

.py 和 .pyw 之间的“其它差别”全都是 python.exe 和 pythonw.exe 之间的差别。

跟 python.exe 比较起来,pythonw.exe 有以下的不同:

1)执行时不会弹出控制台窗口(也叫 DOS 窗口)

2)所有向原有的 stdout 和 stderr 的输出都无效

3)所有从原有的 stdin 的读取都只会得到 EOF

.pyw 格式是被设计来运行开发完成的纯图形界面程序的。

纯图形界面程序的用户不需要看到控制台窗口。

值得一提的是,开发纯图形界面程序的时候,你可以暂时把 .pyw 改成 .py ,

以便运行时能调出控制台窗口,看到所有错误信息,方便除虫。