易截截图软件、单文件、免安装、纯绿色、仅160KB

一个Python小脚本运行超慢

我用Python写了一个小脚本,作用是统计我e:\download目录下文件都包含了哪些扩展名,并打印出来,但是不知道为什么,这个脚本虽然可以正常的运行,但是运行的非常非常慢,平均每一次运行的时间都超过了1分钟才有结果,请教一下各位这是为什么?是不是我的程序哪里设计的不合理导致的?

备注:
我的e:\download目录下,总共有27103个文件,1010个文件夹,总共大小70G左右。

代码如下:
Python code:

import os
import os.path
import re

path = 'e:/download/'
kzm = []
newKzm = []

for root,dirs,files in os.walk(path):
for file in files:
f = (os.path.join(root,file))
if '.' in f and re.search('\w{4}$',f):
var = f[-4:]
kzm.append(var)
elif '.' in f and re.search('\w{3}$',f):
var = f[-3:]
kzm.append(var)
elif '.' in f and re.search('\w{2}$',f):
var = f[-2:]
kzm.append(var)
for i in kzm:
if kzm.count(i) >= 2 and newKzm.count(i) ==0:
newKzm.append(i)
elif kzm.count(i) == 1:
newKzm.append(i)
print(newKzm)




引用
试试python提供的现成方法...
Python codeimport os

path='e:/download/'
kzm= set()for root,dirs,filesin os.walk(path):for filein files:
ext= os.path.splitext(file)[1]
kzm.add(ext)print kzm


非常感谢!确实比


相关问答:

python list中添加类对象的问题

在list中添加一个类的局部变量 这样做是否合法 请看下面例子:
Python code:

class A():
def __init__( self ):
self.__a = 0
self.__b = 'hello'
def get_a( self ):
ret ......

python 正则匹配中文

在文本文件中匹配项包含中文
如内容为:gamename=中文 
  key=天下
文本文件的编码的文件为utf-8
python代码如下:
# -*- coding:UTF-8 -*-
  contents=open(from_pa ......

python 中一个疑惑

return func 与return func()
有什么不同的?
return func返回的是一个函数对象,
return func()返回的是func()函数的返回结果。

楼上正解

一个是返回变量 一个是返回的时候 再调用一下func函数
我觉得是 ......

各位大侠,Python 编码问题

例子是这样的:

>>> str1 = '小狗'
>>> str1
'小狗'
>>> str1.encode('utf-8')
b'\xe5\xb0\x8f\xe7\x8b\x97'
>>> str2 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号