有没有办法让某种类型的文件扩展名类型集合而不是所有冗余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"):
答案 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