728x90
반응형
이번 포스트에서는 파이썬의 라이브러리 중에서 txtwrap 라이브러리에 대해 알아보겠습니다.
txtwrap 라이브러리는 문자열을 보기 좋은 형태로 정렬하거나 줄바꿈하는데 사용할 수 있습니다.
대표적인 함수로 shorten(), wrap(), fill() 등이 있는데
각각 원하는 길이에 맞게 길이 줄이기, 문장 자르기, 문장 줄바꿈을 수행합니다.
이제 예제를 한번 확인해보겠습니다.
1) 예제
import textwrap
text = "1. 동해물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라 만세 무궁화 삼천리 화려 강산 대한 사람 대한으로 길이 보전하세 2. 남산 위에 저 소나무 철갑을 두른 듯 바람 서리 불변함은 우리 기상일세 무궁화 삼천리 화려 강산 대한 사람 대한으로 길이 보전하세3. 가을 하늘 공활한데 높고 구름 없이밝은 달은 우리 가슴 일편단심일세무궁화 삼천리 화려 강산대한 사람 대한으로 길이 보전하세4. 이 기상과 이 맘으로 충성을 다하여괴로우나 즐거우나 나라 사랑하세무궁화 삼천리 화려 강산대한 사람 대한으로 길이 보전하세"
print(text)
modified_text = textwrap.shorten(text, width=20)
print(modified_text)
modified_text = textwrap.shorten(text, width=20, placeholder="...[중략]")
print(modified_text)
print("===================================================================")
modified_text = textwrap.wrap(text, width=5)
print(modified_text)
print('\n'.join(modified_text))
print("===================================================================")
modified_text = textwrap.fill(text, width=10)
print(modified_text)
코드는 위와 같습니다.
단락별로 구분을 지어서 설명드리겠습니다.
text는 애국가를 1절부터 4절까지의 가사를 갖고 있는 문자열입니다.
따라서 출력하기에는 너무 길고 복잡합니다.
이런 상황에서 txtwrap의 메소드들을 사용하면 보다 보기 좋게 정렬이 가능합니다.
첫번째로 shorten 메소드를 사용하여 문자열의 길이를 줄여보았습니다.
기본적으로 줄여진 문자열은 [...]으로 남겨지지만, placeholder를 지정하면 이 형식을 바꿀 수 있습니다.
두번째로는 wrap 메소드를 사용하여 문자열을 단일문단으로 래핑하였습니다.
단일문단의 길이가 최대 width로 지정한 값으로 되게 합니다.
위의 형태로 리스트를 반환하므로 join을 통해 이를 다른 형태로 정리할 수 있습니다.
마지막으로는 fill 메소드를 사용해 줄을 바꿔보았습니다.
마찬가지로 줄을 바꾸는 기준은 인자로 넣어준 width의 값에 해당합니다.
fill 메서드는 잘 사용하면 wrap 메서드 + join 메서드의 조합을 사용하지 않아도 됩니다.
728x90
반응형
'Python' 카테고리의 다른 글
collections 라이브러리의 Counter 메소드 (0) | 2024.11.22 |
---|---|
re 라이브러리 (2) | 2024.11.21 |
문자열 처리 (1) | 2024.11.19 |
외부 라이브러리 (1) | 2024.11.18 |
Closure와 Decorator (0) | 2024.11.17 |