2012년 12월 4일 화요일

[Python] parse

간단한 문자열 파싱을 할 때는 대체로 정규표현식(re) 모듈을 많이 활용한다. 하지만 단순한 패턴을 읽어 낼 때는 정규표현식은 귀찮은게 많다. 이럴때는 간단하게 파싱 할 수 있게 도와주는 parse 모듈을 사용 할 수도 있다. 이 모듈의 설명은 아래 한줄이면 충분하다.

parse() is the opposite of format()

앞서 소개했던 str.format() 과는 반대되는 기능을 제공한다는 의미이다. 이걸로 대충 설명은 끝나는 것 같다. :-)


물론 pip로 쉽게 설치가 가능하다.
$ pip install parse

가장 간단한 사용 방법의 예는 이런 식이다.
>>> from parse import parse
>>> parse('My name is {}.', 'My name is Seorenn.')[0]
'Seorenn'
str.format에서 문자열을 치환하던 것과 반대로, str.format과 비슷한 문법으로 문자열을 파싱해 내는 것이 가능하다.

re 모듈처럼 파싱 문법을 미리 컴파일 해 두는 것도 가능하다.
>>> from parse import compile
>>> p = compile('My name is {}.')
>>> p.parse('My name is Seorenn.')

>>> _[0]
'Seorenn'

정규표현식 처럼 복잡한 기능이 귀찮다면 이렇게 간단한 parse 모듈을 이용해 보자.

관련링크: [Python] str.format()

댓글 없음 :