Ce face str.partition() și str.rpartition()
partition(sep) caută prima apariție a separatorului și returnează tuplul (inainte, sep, dupa). Dacă separatorul lipsește, returnează (text, "", ""), deci despachetarea în trei variabile nu dă niciodată eroare.
rpartition() caută ultima apariție; dacă lipsește, returnează ("", "", text). Ambele există și pentru bytes.
Parametri
| Parametru | Descriere |
|---|---|
sep |
Separatorul (nu poate fi gol). |
Ce returnează
Un tuplu cu trei texte.
Exemple
Exemplul 1: Chei și valori
for linie in ["port=8080", "debug", "url=a=b"]:
cheie, egal, valoare = linie.partition("=")
print(repr(cheie), repr(valoare), "are valoare" if egal else "fără valoare")
Rezultat
'port' '8080' are valoare
'debug' '' fără valoare
'url' 'a=b' are valoare
Exemplul 2: Extensia unui fișier
print("arhiva.tar.gz".rpartition("."))
print("README".rpartition("."))
print(b"user@host".partition(b"@"))
Rezultat
('arhiva.tar', '.', 'gz')
('', '', 'README')
(b'user', b'@', b'host')
Greșeli frecvente
- Dai un separator gol:
partition("")dăValueError: empty separator.
Comenzi înrudite
str.split() și str.rsplit(): Împarte un text într-o listă de bucăți, după un separator.str.find(), rfind(), index() și rindex(): Caută un subșir într-un text și returnează poziția primei (sau ultimei) apariții.Path.name, stem, suffix, parent, parts și celelalte proprietăți: Părțile unei căi: numele, extensia, directorul părinte și componentele.