-4

可能重复:
在python中,如何检查文件名是否以“.html”或“_files”结尾?

import os

path = '/Users/Marjan/Documents/Nothing/Costco'

print path

names = os.listdir(path)

print len(names)

for name in names:
  print name

这是我一直在使用的代码,它在终端中列出了该类别中的所有名称。此文件 (Costco) 中有一些文件名没有 .html 和 _files。我需要把它们挑出来,唯一的问题是它有超过 2,500 个文件名。需要有关将通过此路径搜索并挑选出所有不以 .html 或 _files 结尾的文件名的代码的帮助。多谢你们

4

2 回答 2

3
for name in names:
    if filename.endswith('.html') or filename.endswith('_files'):
        continue
    #do stuff

如果您需要文件的扩展名,通常os.path.splitext()会更合适,但在这种情况下endswith()完全没问题。

于 2012-06-03T22:39:22.410 回答
0

比 ThiefMaster 的建议短一点:

for name in [x for x in names if not x.endswith(('.html', '_files'))]:
    # do stuff  
于 2012-06-03T22:47:13.927 回答