或者条件Python

时间:2016-05-23 17:28:24

标签: python

有没有办法让某种类型的文件扩展名类型集合而不是所有冗余OR条件?

for file in os.listdir(source_directory):
    if file.endswith(".xlsx") or file.endswith(".xls") or file.endswith(".xlsm") or file.endswith(".xlsb"):

类似

if file.endswith(".xlsx","xls","xlsm","xlsb"):

1 个答案:

答案 0 :(得分:4)

引用official docs强调我的):

  

str.endswith(suffix[, start[, end]])

     

如果字符串结束,则返回True   使用指定的后缀,否则返回False后缀也可以   要查找的后缀元组。可选启动,测试开始   在那个位置。使用可选结束,停止在该位置进行比较。

     

在版本2.5中更改:接受元组作为后缀。

正确的用法是:

for file in os.listdir(source_directory):
    if file.endswith((".xlsx","xls","xlsm","xlsb")):
        pass  # do something