Skip to main content

Python String splitlines() Function

The String splitlines() method splits a string at line breaks (like \n, \r, or \r\n) and returns them in a list.

Syntax​

my_string.splitlines(keepends)

splitlines() Parameters​

Python String splitlines() function parameters:

ParameterConditionDescription
keependsOptionalIf set to True, line breaks are included in the resulting list

splitlines() Return Value​

Python String splitlines() function returns a list of strings, each corresponding to a line in the original multi-line string. If keepends parameter is set to True, line breaks are included in the resulting list.

note

The splitlines() method splits on the following line boundaries:

RepresentationDescription
\nLine Feed
\rCarriage Return
\r\nCarriage Return + Line Feed
\v or \x0bLine Tabulation
\f or \x0cForm Feed
\x1cFile Separator
\x1dGroup Separator
\x1eRecord Separator
\x85Next Line (C1 Control Code)
\u2028Line Separator
\u2029Paragraph Separator

Examples​

Example 1: Splits a String at line breaks with splitlines()​

The splitlines() method splits a string at line breaks and returns them in a list.

In this example, the string is splitted at line break \n:

my_str = 'First Line\nSecond Line'
result = my_str.splitlines()
print(result) # Output: ['First Line', 'Second Line']

output

['First Line', 'Second Line']

Example 2: Splits a String at different line breaks with splitlines()​

Newline \n, carriage return \r and form feed \f are common examples of line breaks that splitlines() method can use to split lines.

my_str = 'One\nTwo\rThree\fFour'
result = my_str.splitlines()
print(result) # Output: ['One', 'Two', 'Three', 'Four']

output

['One', 'Two', 'Three', 'Four']

Example 3: Splits a Multi Line String at line breaks with splitlines()​

We can also split the lines from multi line strings using the splitlines() method.

my_str = '''One
Two
Three
Four
'''
result = my_str.splitlines()
print(result) # Output: ['One', 'Two', 'Three', 'Four']

output

['One', 'Two', 'Three', 'Four']

Example 4: Splits a String keep line breaks in the result​

If the optional keepends argument is specified with value True, then line breaks are included in the resulting list.

my_str = 'One\nTwo\rThree'
result = my_str.splitlines(True)
print(result) # Output: ['One\n', 'Two\r', 'Three']

output

['One\n', 'Two\r', 'Three']

splitlines() method vs split() method on Newline​

Two main differences between splitlines() and split() are about the empty string and single line with a terminal line break.

Empty String with splitlines() and split()​

  • splitlines() returns an empty list for the empty string.
  • split() returns a list with a single item that is an empty string.
# splitlines() method
my_str = ''
result = my_str.splitlines()
print(result) # Output: []

# split() method
my_str = ''
result = my_str.split('\n')
print(result) # Output: ['']

output

[]
['']

Single Line with splitlines() and split()​

When you use splitlines() method, a terminal line break does not result in an extra line.

# splitlines() method
my_str = 'Single Line\n'
result = my_str.splitlines()
print(result) # Output: ['Single Line']

# split() method
my_str = 'Single Line\n'
result = my_str.split('\n')
print(result) # Output: ['Single Line', '']

output

['Single Line']
['Single Line', '']