win32com 으로 hwp 문자열 검색하기 문의
강사님 강의를 듣고 있는 파이썬 초보입니다.
파이썬으로 hwp 파일을 읽어서 특정 문자열을 검색하는 기능을 구현하려고 합니다.
특정 문자열의 위치와 그 문자열 주위의 문자열을 보여주는 기능입니다.
win32com.client 모듈로 구현하려는데 특정 문자열의 위치를 인식하는 기능이 구현이 안 되네요..
간단한 코드는 아래와 같습니다.. 좀 봐주시면 감사하겠습니다.
hwp.InitScan()
while True:
state, text = hwp.GetText()
print(state, text)
#여기서 찾는 문자열 비교해서 찾았다면 해당 문자열의 위치(행,열 또는 List,Para,Pos)를
#print()로 확인 가능한지요?
if state <= 1:
break
hwp.ReleaseScan()
Answer 2
1
안녕하세요, 인프런 AI 인턴입니다.
야베스님이 파이썬을 사용하여 한글 파일에서 특정 문자열을 검색하는 기능을 구현하시려는군요. win32com 모듈을 사용해 hwp 파일에서 특정 문자열의 위치를 찾고자 하시는 것 같습니다.
파이썬의 win32com을 사용하여 문서의 텍스트를 검색할 때, GetText() 메소드를 활용하고 있으며, state와 text 변수를 통해 문서의 각 부분을 읽고 계신 것 같습니다. 그러나, GetText() 메소드만으로는 문자열의 정확한 위치를 직접적으로 얻기 어려운 면이 있습니다.
다음의 방법을 고려해 볼 수 있습니다:
문자열 검색: 여러분이 찾고자 하는 문자열을
hwp.GetText()의text와 비교합니다.text가 해당 문자열을 포함하고 있을 경우, 그 주변 문자열을 가져올 수 있습니다.위치 추적:
GetText()호출 시 반환되는state값은 현재 문서를 스캔하고 있는 상태를 나타냅니다. 반환되는state를 활용하여 대략적인 위치를 확인할 수 있으며, 구조적으로 하위 문단 내의 위치를 수작업으로 추적할 수 있습니다.추가 라이브러리 사용:
win32com외에 좀 더 강력한 텍스트 처리를 원하는 경우pyhwp같은 라이브러리를 활용해 보세요.
다음은 구체적인 코드 예제입니다. 이러한 코드에서 state와 text가 어떻게 다루어지는지를 좀 더 살펴보아야 합니다. 코드 내에서는 특정 텍스트를 발견했을 때 위치 정보를 직접 프린트하도록 구현합니다.
hwp.InitScan()
while True:
state, text = hwp.GetText()
if state <= 1:
break
if "찾는 문자열" in text: # 여기서 '찾는 문자열'을 원하는 것으로 바꿔주세요.
print(f"문자열 '{text}'이/가 포함되어 있습니다.")
# state로 위치 추적 로직을 추가합니다.
# 위치 정보는 문서의 컨텍스트에 근거한 자체 구현이 필요함.
hwp.ReleaseScan()
한글 파일 구조에 따라 위치를 정확히 알아내기 위해서는 문서 구조에 대한 추가적인 정보와 방법이 필요할 수 있습니다. pyhwp 같은 라이브러리를 통해 추가적인 기능을 구현할 수 있을지도 모릅니다.
원하시는 답변을 찾지 못하셨다면, 인프런의 문의하기 기능을 사용하여 문의를 남기시면 빠른 답변을 받으실 수 있습니다.
https://www.inflearn.com/faq
섹션7과 같은 수학 수식을 백지에서 시작할 때 어떻게 만들 수 있을까요?
0
76
1
hwp 병렬 작업시 클립보드 충돌문제
0
58
1
본문을 각주로 내리는 법
1
93
1
한글 자동화 삽도 삽입!!
1
384
2
한글 표 내부 위치 찾는 코드좀 알려주세요 ㅠㅠ
1
233
2
빈 문서를 새로 열때는 팝업이 안나오는데 기존 문서를 열면 팝업이 나옵니다
1
118
2
사무실 컴퓨터ㅠ
0
96
2
글자입력 여러번 실행기
0
67
1
현재 커서 문단에 아무런 내용이 없는지 확인하기
1
102
1
특정 스타일을 찾아 이동하는 방법
1
161
2
한/글 파일 open 시 '상위 버전에서...' 메세지 안 뜨게 하는 방법?
1
1108
1
[응용] 엑셀문서 값을 필드에 입력하기 질
1
122
1
표 병합하기 관련
0
140
0
메타태그 삽입 자동화
0
191
1
스크립트 매크로 초기화 하고 싶습니다.
1
270
2
한글 창이 여러 개 존재할 때 pyhwpx 모듈로 접근하는 방법을 알고 싶습니다.
1
271
1
표안의 특정 필드에 있는 이미지를 복사하여 한글 외부에 저장하기
1
273
2
스타일 싹 다 지우고 바탕글로 통일하는 방법 문의드립니다.
1
283
0
하위의 여러 폴더 중 특정폴더의 사진만 추출하기
1
345
2
한글 수식을 자동으로 넣는 코드를 만들었는데, 수식 사이의 간격이 계속 벌어집니다.
1
655
1
보유 특허 검색 페이지에서 검색이 되지 않습니다.
1
137
1
hwp 페이지별 분할 저장하는 코드 관련 문의
0
446
0
한글 문서에 사용된 폰트명 추출
1
644
1
누름틀 적용항목 vs 엑셀항목 간의 순서관련 질문
1
555
2

