【发布时间】:2012-09-12 06:50:35
【问题描述】:
是否以以下最耗时的方式使用 os.walk 递归搜索文件夹并返回所有以 .tnt 结尾的文件?
for root, dirs, files in os.walk('C:\\data'):
print "Now in root %s" %root
for f in files:
if f.endswith('.tnt'):
【问题讨论】:
-
我想你可以从中做出一个列表理解,这可能会稍微快一些,而且打字也会稍微少一些。不要忘记聪明人曾经说过的话:"Premature Optimization is the root of all evil".
-
使用
os.walk是一个好方法。这是最好的方式吗?我不知道。但我和Voltaire 合作。 -
为什么列表理解会更快?这将涉及实际生成一个列表,而不是使用这个
os.walk生成器... -
@nneonneo:好的,点了——然后是生成器表达式。
-
它不是过早的优化。我只是希望有办法在任何时候刮胡子
标签: python optimization directory subdirectory