• 목록
  • 아래로
  • 위로
import olefile 

f = olefile.OleFileIO('파일명.hwp') # HWP 파일 열기
encoded_text = f.openstream('PrvText').read() # PrvText 스트림의 내용 꺼내기
decoded_text = encoded_text.decode('UTF-16') # 유니코드를 UTF-16으로 디코딩
print(decoded_text)

 

 

참고로 pyhwp라는 모듈도 있는데 이것도 olefile을 디펜던시로 하고 있어요 ^^

 

작성자
이니스프리 119 Lv. (0%) 2068870/115200000EXP

Make StudyForUs Great Again!

 

CSVpuymXAAAVVpd.jpg

댓글 6

NoYeah
profile image
olefile 이 한컴에서 제공하는 라이브러리인가요?
comment menu
2020.10.19. 23:11

신고

"NoYeah님의 댓글"

이 댓글을 신고 하시겠습니까?

이니스프리 작성자 → NoYeah
profile image

그렇지 않다고 알고 있네요 ^^

https://pypi.org/project/olefile/ 여기를 보시면 OLE2 파일을 위한 범용 라이브러리임을 확인할 수 있어요 :)

olefile is a Python package to parse, read and write Microsoft OLE2 files (also called Structured Storage, Compound File Binary Format or Compound Document File Format), such as Microsoft Office 97-2003 documents, vbaProject.bin in MS Office 2007+ files, Image Composer and FlashPix files, Outlook messages, StickyNotes, several Microscopy file formats, McAfee antivirus quarantine files, etc.

 

+)

참고로 이 모듈을 개발하신 분은 다음과 같습니다 ^^

https://pypi.org/user/decalage/

comment menu
2020.10.20. 21:37

신고

"이니스프리님의 댓글"

이 댓글을 신고 하시겠습니까?

NoYeah → 이니스프리
profile image
한글 파일포맷이라 독자적인 포맷인줄 알았는데 어느정도 한컴에서도 표준에 맞춰 개발을 하였었나보군요?
심지어 공식적으로 지원하지 않는것 같은데 말이에요.
comment menu
2020.10.23. 15:28

신고

"NoYeah님의 댓글"

이 댓글을 신고 하시겠습니까?

이니스프리 작성자 → NoYeah
profile image

저도 직접 파싱해본 것은 아니지만 검색해보니 그런 것 같네요 ^^
https://luji.tistory.com/15

https://luji.tistory.com/18?category=727732

comment menu
2020.10.23. 20:39

신고

"이니스프리님의 댓글"

이 댓글을 신고 하시겠습니까?

파이리
오옷! 감사합니다
comment menu
2021.02.08. 11:49

신고

"파이리님의 댓글"

이 댓글을 신고 하시겠습니까?

이니스프리 작성자 → 파이리
profile image
옙~ 굿밤 되세요! ^-^
comment menu
2021.02.08. 22:19

신고

"이니스프리님의 댓글"

이 댓글을 신고 하시겠습니까?

권한이 없습니다.
번호 제목 글쓴이 날짜 조회 수
공지 [작업 완료] 설 명절 맞이 서버 업데이트 안내 3 마스터 마스터 24.02.11.17:21 1010
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 4 마스터 마스터 23.01.14.02:23 4685
472 마지막 방문일자 알려주기 슬기 슬기 18.10.11.00:31 162
471 AMD KOREA 라이젠 3500X 공식 런칭 예정 image 이니스프리 이니스프리 19.10.15.17:50 162
470 JLPT 성적표 및 합격증 수령 주소 변경 이니스프리 이니스프리 20.01.29.21:51 163
469 [Python] OrderedDict에 대한 간단한 소개 3 이니스프리 이니스프리 20.06.16.13:09 163
468 [펌] 하이패스 미납요금 내기 귀찮을 땐, 동네 편의점? image 이니스프리 이니스프리 19.08.28.14:53 165
467 [스퀘어넷] Ubuntu Server 18.04 LTS 지원 1 이니스프리 이니스프리 19.02.04.22:20 166
466 [Python] 파이썬으로 평균을 구하는 두 가지 방법 이니스프리 이니스프리 21.03.13.21:58 166
465 [Python] Function to save list into a text file line by line 이니스프리 이니스프리 22.06.11.21:33 166
464 [Python] 정규식을 사용하지 않고 웹페이지의 자바스크립트를 파싱 이니스프리 이니스프리 24.04.17.21:12 166
463 [Docker] Docker 다시 알고 사용하기 Seia Seia 21.04.10.07:04 167
462 [Selenium] Page down 이니스프리 이니스프리 22.06.19.12:40 167
461 [Vultr] Important Tax Notice 이니스프리 이니스프리 19.11.20.07:38 168
460 사실상 일본산 제품인데 헷갈리는 브랜드 6 이니스프리 이니스프리 20.06.10.20:05 168
459 [Python] COS Pro 1급 예제 2-6 풀이 이니스프리 이니스프리 20.02.14.15:03 169
458 [Python] extension이 標示되지 않는 online image의 extension을 알아내기 이니스프리 이니스프리 22.04.01.20:51 170
457 앱체크 라이선스 갱신과 관련하여 이니스프리 이니스프리 19.05.11.14:43 171
456 [할인정보] 스와로브스키 50% 할인 image 이니스프리 이니스프리 17.01.22.22:45 173
455 [아미나] 아미나 2.0으로의 리뉴얼 계획 이니스프리 이니스프리 19.03.12.13:03 173
454 [Python] MP4 움짤을 clip하여 thumbnail 生成하기 이니스프리 이니스프리 22.06.09.08:35 173
453 Eva Icons - 웹, iOS, 안드로이드를 위한 오픈소스 아이콘 2 이니스프리 이니스프리 18.12.08.14:38 174