Notice
Recent Posts
Recent Comments
Link
SeouliteLab
파이썬 문법 분석 라이브러리, pyparsing 소개와 활용 방법 본문
pyparsing은 파이썬에서 문자열을 구문 분석하고 처리하는 데 사용되는 강력한 라이브러리입니다. 이 라이브러리를 사용하면 사용자 지정 문법을 정의하고 해당 문법에 맞게 문자열을 구문 분석할 수 있습니다. 아래에서는 pyparsing 라이브러리의 간단한 예제와 활용 방법에 대해 살펴보겠습니다.
예제 1: 간단한 숫자 계산기 만들기
from pyparsing import *
# 문법 정의
integer = Word(nums).setParseAction(lambda t: int(t[0]))
operand = oneOf("+ - * /")
expression = Forward()
expression << integer + ZeroOrMore(operand + expression)
# 문자열 파싱
result = expression.parseString("3 + 5 * 2 - 8 / 4")
print("계산 결과:", eval("".join(result)))
이 예제에서는 pyparsing을 사용하여 간단한 숫자 계산기를 만듭니다. 정의한 문법을 사용하여 문자열을 파싱하고, 계산 결과를 출력합니다.
예제 2: CSV 파일 파싱하기
from pyparsing import *
# CSV 문법 정의
field = QuotedString('"', escChar='\\') | Word(printables, excludeChars=',')
csv_line = delimitedList(field, ',')
# CSV 파일 읽기
with open('example.csv', 'r') as file:
for line in file:
parsed_data = csv_line.parseString(line)
print(parsed_data)
이 예제는 pyparsing을 사용하여 CSV 파일을 파싱하는 방법을 보여줍니다. 정의한 CSV 문법을 사용하여 각 라인을 파싱하고 파싱된 데이터를 출력합니다.
예제 3: 간단한 논리식 파싱하기
from pyparsing import *
# 논리식 문법 정의
operand = oneOf("true false")
operator = oneOf("and or not")
expression = operator | operand + ZeroOrMore(operator + operand)
# 논리식 파싱
parsed_expr = expression.parseString("true and false or not true")
print(parsed_expr)
이 예제는 pyparsing을 사용하여 간단한 논리식을 파싱하는 방법을 보여줍니다. 정의한 논리식 문법을 사용하여 문자열을 파싱하고 파싱된 결과를 출력합니다.
pyparsing은 다양한 분야에서 유용하게 사용될 수 있는 강력한 라이브러리입니다. 사용자 정의 문법을 구현하고 해당 문법에 맞게 문자열을 파싱하는 데 활용됩니다.