파이썬에서 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)
'언어 > python' 카테고리의 다른 글
[python] \b(백스페이스) 문자 제거하기 (0) | 2023.02.01 |
---|---|
[python] flask-socketio에서 버퍼링 없이 데이터 보내기 (2) | 2023.01.20 |
[python] OSError: [Errno 98] Address already in use (0) | 2023.01.13 |