Servus zusammen,
ich hab die Forensuche bereits bemüht, habe aber nichts gefunden, ich weiß ehrlich gesagt auch nicht genau nach was ich suchen soll...
Ich bin neu hier im Forum und arbeite grade im Rahmen meiner Bachelorarbeit das erste mal mit Python.
Ich habe folgendes Problem:
Ich lasse mir mit os.listdir() eine Liste aller Dateien ausgeben, die in einem Ordner sind. Anschließend loope ich durch jede Datei und bearbeite sie (User-Subroutine für Marc/mentat).
Jetzt will ich in dieser Schleife nochmal eine if-Abfrage, die fragen soll, ob ein bestimmter Name eine bestimmte Buchstabenfolge enthält.
Der Sinn: Wenn die datei z.B. CU_Koerper.mud heißt, soll er sehen dass der Filename "CU" enthält und diesem die Materialparameter von Kupfer zuweißen.
Wie ich Materialparameter zuweise, das ist alles kein Problem. Das einzige Problem ist der Befehl, wie ich prüfen kann, ob mein String "file" eine gewisse Zeichenfolge enthält.
quasi so:
if file "enthält" CU:
gib ihm diese Materialparameter
elif file "enthält" PTFE:
fib ihm die anderen Parameter
oder gibt es vllt eine andere, elegantere Möglichkeit?
Vielen Dank im Voraus.
Gruß
Flo
String enthält...
So einfach kanns sein Tausend Dank!BlackJack hat geschrieben:Code: Alles auswählen
if 'CU' in filename:
eine Frage noch: kann ich auch mehrere Begriffe abfragen?
if 'a oder b' in filename:
?
Danke!
Code: Alles auswählen
if "spam" in filename or "eggs" in filename:
...
Das Leben ist wie ein Tennisball.
Alternativ wenn es mehr Begriffe werden oder die eventuell auch Variabel sind:
Code: Alles auswählen
if any(s in filename for s in ['spam', 'eggs']):
# ...
wenn die Datei immer mit dem Material startet kannst du auch mit split('_') den Dateiname trennen und dann mit einem dict gerade auf den richtigen Parameter verweisen, damit kannst du dir vielleicht einige if und elifs sparen.