본문으로 바로가기

파이썬에서 split() 함수를 이용하여 줄바꿈을 할 수 있지만 splitlines() 함수를 이용하여 문자열을 분리하는 방법에 대해 알아보았다.

 

함수 원형

str.splitlines(keepends=False)
  • keepends(bool)

        True값이 주어지면 리스트에 줄바꿈 기호를 포함한다.

 

 

설명

split()과 마찬가지로 문자열을 구분자를 기준으로 분리해 리스트를 반환한다. 이때 splitlines() 함수는 이 구분자를 universal newlines로 사용한다. universal newlines는 파이썬에서 줄바꿈으로 인식하는 문자로 아래와 같다.

표현 설명
\n 줄바꿈
\r 캐리지 리턴
\r\n 캐리지 리턴 + 줄바꿈
\v 또는 \x0b 수직 탭
\f 또는 \x0c 폼 피드
\x1c 파일 구분자
\x1d 그룹 구분자
\x1e 레코드 구분자
\x85 다음 줄 (C1 제어 코드)
\u2028 줄 구분자
\u2029 문단 구분자

 

split()과의 차이점

a = 'One lines\nTwo lines\n'.splitlines()
b = 'One lines\nTwo lines\n'.split('\n')

print(a)
print(b)

splitlines() 함수는 split() 함수와 구분되는 점이 있다. 문자열의 마지막에 줄바꿈 기호가 있을 경우 split() 함수는 빈 문자열을 포함하지만 splitlines() 함수는 빈 문자열을 포함하지 않는다.

 

아래 코드는 keepends 옵션이 주어졌을 때의 결과이다.

a = 'One lines\nTwo lines\n'.splitlines(keepends = True)
print(a)