Python:检查以扩展列表中存在的扩展名结尾的文件名

wol*_*pha 4 python python-2.7

基本上我希望文件名以扩展名列表中的扩展名结尾.这是我在python中的代码.我已经将一些示例文件名作为列表,如下所示:

extensions = ['.mp3','.m4a','.wma']
filenames = ['foo1.mp3','foo2.txt','foo3.m4a','foo4.mp4']
for filename in filenames:
    for extension in extensions:
         if filename.endswith(extension):
             print filename
             break
Run Code Online (Sandbox Code Playgroud)

这是有效的,但我很想知道是否有更高效或简短的方法在python中做同样的事情.谢谢

acu*_*ner 7

endswith 接受一个元组,所以很容易:

exts = tuple(extensions)
[f for f in filenames if f.endswith(exts)]
Run Code Online (Sandbox Code Playgroud)

  • 不知道。凉爽的! (2认同)