2016-05-23 7 views
1

Gibt es eine Möglichkeit, so einige Arten von Dateierweiterungstypen statt aller redundanten OR-Bedingungen?Oder Bedingung Python

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

So etwas wie

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

Sie waren in der Nähe: 'file.endswith (("xls", "xlsm", "xlsb") "xlsx."):' – vaultah

Antwort

4

Zitiert official docs (Schwerpunkt von mir):

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

Return True, wenn die Zeichenfolge endet mit dem spezif Suffix, andernfalls False. Suffix kann auch ein Tupel von Suffixen für suchen. Mit optionalem Start, Testanfang an dieser Position. Mit optionalem Ende den Vergleich an dieser Stelle stoppen.

Geändert in Version 2.5: Tupel als Suffix akzeptieren.

So korrekte Verwendung wird sein:

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

I Kann deine Antwort noch nicht akzeptieren, aber ich werde es tun. Vielen Dank – Rodger