인프런 커뮤니티 질문&답변
누름틀의 메모를 조회하는 방법이 궁금합니다.
해결된 질문
작성
·
146
1
질문 남겨주셔서 감사합니다.
막히면 언제든 무엇이든 자주 질문 던져주세요.
수학/과학이나 알고리즘과는 달리
업무자동화 코딩은 고민해서 풀리는 경우가 정말 드뭅니다.
다시 말씀드리지만, 질문을 자주자주 남겨주세요.
저도 최대한 빠르게 회신 드리겠습니다.
당부드릴 두 가지가 있습니다.
① 가급적 구체적으로 설명해주세요.
② 특정 챕터 관련 질문 남겨주실 때는,
어느 챕터인지 알려주세요ㅜ
====================================
안녕하세요~
막히는 부분이 있을 때마다 항상 많은 도움을 받고 있습니다.
예전에 누름틀의 메모를 가져오는 방법에 문의하고 잘 활용하고 있는데
누름틀의 개수가 많아지면 생각보다 조회하는 시간이 오래 걸려서 다시 질문을 합니다.
누름틀 필드로 커서를 이동한 후 내용을 추출하는 방법 말고 다른 방법이 없을까요??
누름틀의 필드이름을 알면 누름틀 안의 안내문, 메모 내용을 추출하는 방법이 궁금합니다.
답변 1
2
일코
지식공유자
민수님 안녕하세요?
직접적인 메서드는 없지만, xml 파싱하듯 필드 정보를 가져올 수 있습니다.
예를 들어 아래는
[
{"name": 필드1이름, "direction": 필드1안내문, "memo": 필드1메모},
{"name": 필드2이름, "direction": 필드2안내문, "memo": 필드2메모},
...,
]방식으로 리턴하는 코드입니다.
중간에 문자열 가공이 귀찮아서 정규식을 써버렸는데,
더 깔끔한 방법으로 바꾸면 좋을 것 같습니다...ㅠ
import xml.etree.ElementTree as ET
import re
from pyhwpx import Hwp
hwp = Hwp()
txt = hwp.GetTextFile("HWPML2X")
root = ET.fromstring(txt)
results = []
for field in root.findall(".//FIELDBEGIN"):
name_value = field.attrib.get("Name")
command = re.split(r"(Clickhere:set:\d+:Direction:wstring:\d+:)|( HelpState:wstring:\d+:)", field.attrib.get("Command")[:-2])
results.append({"name": name_value, "direction": command[3], "memo": command[-1]})
코드 쓰기 귀찮으실까봐..pyhwpx 최신버전(0.41.8)에 hwp.get_field_info()를 추가해 두었습니다.
혹시 다른 방식으로 작동하길 원하시면 댓글로 제안해주시기 바랍니다.
행복한 하루 되세요^^






제가 원했던 대로 잘 작동합니다.
항상 정성스럽게 답변해 주셔서 감사합니다!!