str.splitlines() în Python

Metode pentru șiruri Python 3.0+

Împarte un text în rânduri, indiferent de tipul capetelor de rând (\n, \r\n, \r).

Sintaxă
text.splitlines(keepends=False)

Ce face str.splitlines()

splitlines() taie textul la fiecare capăt de rând și returnează lista rândurilor. Recunoaște \n (Linux, macOS), \r\n (Windows), \r și alte separatoare Unicode.

Spre deosebire de split("\n"), nu produce un element gol la final când textul se termină cu un rând nou. Cu keepends=True, capetele de rând rămân atașate. Există și pentru bytes (doar separatoarele ASCII).

Parametri

Parametru Descriere
keepends Opțional. True păstrează capetele de rând în rezultat.

Ce returnează

O listă de texte.

Exemple

Exemplul 1: Comparație cu split()

text = "rândul 1\r\nrândul 2\nrândul 3\n"
print(text.splitlines())
print(text.split("\n"))
print(text.splitlines(keepends=True))
print(b"a\nb".splitlines())

Rezultat

['rândul 1', 'rândul 2', 'rândul 3']
['rândul 1\r', 'rândul 2', 'rândul 3', '']
['rândul 1\r\n', 'rândul 2\n', 'rândul 3\n']
[b'a', b'b']

Greșeli frecvente

  • Folosești split("\n") pe un fișier venit de pe Windows și rândurile păstrează un \r la final. splitlines() le tratează corect.

Comenzi înrudite