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', '']