Ich analysiere eine Datei mit einer Liste von Pfaden. Ich versuche zu sehen, ob ein Pfad unter einem bestimmten Verzeichnis ist oder nicht. Also ich habe zwei Saiten S1 und S2. Sagen wir, sie sind S1 = '/ tmp /' und S2 = '/tmp/file.txt'
Wenn ich überprüfen will, ob S2 S1 und dann einige zusätzliche Bytes in C hat, würde ich eine Strncmp von S1 und S2 bis Strlen (S1) Bytes tun. Gibt es eine Möglichkeit, das in Python zu tun? Ich bin neu bei Python und kenne noch nicht alle Module, die mir zur Verfügung stehen. Ich könnte dies trivial implementieren, indem ich einfach die Zeichen in den Strings überspringe und vergleiche, aber herausfinden will, ob es irgendetwas gibt, das mir diese Art von Hilfsfunktionen standardmäßig gibt
Danke für jede Hilfe.
P
Ja. Sie können Folgendes tun: if a in b:
Das überprüft, ob a
eine Teilzeichenfolge irgendwo in b
ist.
z.B.
%Vor% Aus Ihrem Post scheint es, dass Sie nur den Anfang der Strings betrachten möchten. In diesem Fall können Sie die Methode .startswith
verwenden:
Ebenso können Sie das gleiche mit endswith
tun:
Schließlich wäre die wörtlichste Übersetzung von strncmp
die Verwendung von Slicing und ==
:
Python bietet auch viele Möglichkeiten, mit Pfadnamen im os.path
-Modul umzugehen. Es lohnt sich zu untersuchen, was da drin ist. Es gibt einige ziemlich nette Funktionen.
Tags und Links python