String enthält...

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
FloF
User
Beiträge: 2
Registriert: Donnerstag 16. September 2010, 12:35

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
FloF
User
Beiträge: 2
Registriert: Donnerstag 16. September 2010, 12:35

BlackJack hat geschrieben:

Code: Alles auswählen

if 'CU' in filename:
So einfach kanns sein ;) Tausend Dank!

eine Frage noch: kann ich auch mehrere Begriffe abfragen?

if 'a oder b' in filename:

?

Danke!
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Code: Alles auswählen

if "spam" in filename or "eggs" in filename:
    ...
Das Leben ist wie ein Tennisball.
BlackJack

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']):
    # ...
Benutzeravatar
DaMutz
User
Beiträge: 202
Registriert: Freitag 31. Oktober 2008, 17:25

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.
Antworten