인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

박주현님의 프로필 이미지
박주현

작성한 질문수

직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피

[꿀팁] 기존에 열려있는 한/글 프로그램을 파이썬으로 제어하기

1-9. [노하우] 기존에 열린 한글 프로그램을 파이썬으로 제어" 관련 질문 3가지

해결된 질문

작성

·

68

·

수정됨

1

"1-9. [노하우] 기존에 열린 한글 프로그램을 파이썬으로 제어" 관련하여 질문드립니다.

 

질문1. 일코 님은 Jupyter Notebook을 사용하고 있는건지 아니면 파이참에 IPython을 설치한 것인지요?

일코님의 움짤 동영상에서는, 파이썬 콘솔 내에서 In [7]: In [8]: In [9]: 같은 식으로 보여지는데,

제 파이참의 파이썬 콘솔 내에서는 그러한 것이 보이지 않아서 궁금하여 여쭤 봅니다.

 

질문2. hwp.Run("FileClose") 은 hwp.Clear() 와 어떻게 다른가요?

 

질문3. 움짤 동영상에서의 진행과정은 아래에 제가 기록한 내용이 맞나요? 혹시 잘못 이해한 부분이 있는지 확인 후 피드백 부탁드립니다.

 

■ 움짤 동영상 진행내용 분석

 

※ 일코님의 움짤에 있는 코딩 툴을 파이참으로 추정하였으나, 확실치는 않음.

 

00:00:01 예문모음.hwpx 파일을 더블클릭하여 오픈한다. hwpx의 10/10 페이지가 보임

 

00:00:03 1/10 페이지로 이동한다.

 

00:00:06 ( 파이참 화면 중 에디터(Editor)에

위의 코드 전체(기존에 열린 한글 프로그램을 파이썬으로 제어)가 보임. )

 

00:00:07 에디터(Editor) 화면을 최소화하고, 파이썬 콘솔 영역을 크게 확대함.

 

00:00:10 파이썬 콘솔에서,

In [7]: 상태에서,

hwp.Path 타이핑 후 엔터를 치니, 뭔가 오류 같이 빨간색으로 10줄 정도 뜬다.

※ 미리 열어놓은 hwpx 파일을 Path를 얻어오는데 실패한 걸 보여주는 듯 함.

 

00:00:12 상단 메뉴바 중 Edit를 클릭하는 것 같음.

그 즉시 에디터(Editor) 화면이 절반정도를 차지하도록 커짐.

파이참 화면 중 에디터(Editor)에,

위의 코드 전체(기존에 열린 한글 프로그램을 파이썬으로 제어)가 보임.

 

00:00:13 블럭지정해서 코드 복사(ctrl + c) 한 거 같음.

 

00:00:14 파이썬 콘솔에서,

In [8]: 상태에서,

아까 복사해 둔 위의 코드 전체를 붙여넣고 엔터를 친 것 같음.

그 직후 별도의 빨간 텍스트가 안뜨는 걸로 봐서 정상적인 진행으로 보임.

 

00:00:15 In [9]: 상태에서,

hwp.Path 타이핑 후 엔터를 치니,

흰색으로 Out[9]: 'C:\\Users\\Administrator\\Desktop\\예...

라고 뜨는 걸로 봐서, hwp.Path가 제대로 작동되는 것을 보여주는 듯 함.

 

00:00:19 에디터(Editor)와 파이썬 콘솔이 반반이던 화면에서,

에디터(Editor) 화면이 최소화 되고 파이썬 콘솔 영역이 크게 확대됨.

파이썬 콘솔 최상단 줄에 빨간색 텍스트로,

pywintypes.com_error: (-2147023174, 'RPC 서버를 사용할 수 없습니다.'

라고 보이는 것은, 아까 In [7]의 결과가 보이는 것임. 혼동 주의

 

00:00:22 파이썬 콘솔의 좌측 패널 상단의 아이콘들 중 안경모양 아이콘을 클릭한 듯 함.

그 즉시 우측에 보이던 패널이 오른쪽으로 밀려 닫히며 안보임.

 

00:00:22 이 화면에서는, 아까 In [8]: 상태에서 코드 전체를 붙여넣고 엔터를 쳤다는 걸 다시 관찰 가능.

00:00:23 In [10]: 상태에서,

hwp.Run("FileClose") 타이핑 후 엔터를 치니,

예문모음.hwpx 파일이 닫히고, 화면에 빈 문서 1 만 보임.

 

00:00:30 In [11]: 상태에서,

hwp.Quit() 타이핑 후 엔터를 치니,

빈 문서 1 마저도 닫히고 우측 절반 화면에 바탕화면이 보임. (화면 좌측 절반은 파이참 화면)

 

In [12]: 상태에서, 커서가 깜빡이다가 움짤 동영상이 끝남.

 

※ 강의 개선의견도 드립니다.

초보자가 이번 챕터의 코드를 이해하려면 움짤 동영상의 도움이 크게 필요한데,

동영상의 진행이 너무 빠르고 동영상 프레임 간 이동도 불가능해서 결국에는 동영상으로 녹화한 후에 천천히 돌려보기를 여러 번 해서 파악하였습니다.

코드 자체의 난이도가 어려워서가 아니라 움짤 동영상을 천천히 단계적으로 보기가 어렵다는 이유로 인해,

이 코드의 용도와 실제 어떻게 사용하는 것인지 이해하기가 매우 어려웠습니다.

초보자를 위해 추후 강의 개선이 가능하시다면, 움짤 동영상을 훨씬 더 느리게 보여주시거나,

움짤 동영상에서 어떤 행위들이 이루어지고 있는 것인지 흐름이라도 짚어주시면 좋을 거 같습니다.

 

거창한 설명을 말씀드린 게 아니라

움짤 동영상이 뭘 보여주는 것인지의 핵심만이라도 텍스트로 추가해 주시면 매우 도움이 될 거 같아요.

움짤에 대한 설명을 예를 들면,

움짤에서는, hwp문서를 수동으로 미리 열어놓은 후, 해당 코드를 적용하기 전에는 hwp.Path 명령어가 정상작동되지 않는 모습을 확인할 수 있지만, 해당 코드를 적용한 후에는 hwp.Path 명령어를 실행하면 hwp 파일 경로가 정상적으로 출력되는 모습을 확인가능합니다.

참고로, 움짤에서는 파이참에 IPython을 추가 설정한 환경에서 진행한 것입니다. cmd 창의 Python 콘솔로도 이 실습이 가능합니다 또는 불가합니다.

요 정도의 설명 추가만으로도 초보자도 헤매지 않을 거 같습니다.

 

동영상을 정말 엄청 많이 돌려보고 나서야, 움짤에서 일코님이 하셨던 거 비슷하게 제 파이참에서도 진행하는 것을 성공하긴 했는데, 알고보면 너무 쉬운 난이도에 비해서 불필요하게 헤맸던 과정이었던 거 같습니다.

왕초보여서 그런 점도 있겠지만, 핵심만 간단히 라도 짚어주시면 수강생의 이해에 매우 도움이 될 거 같아서요.

 

그럼 답변 부탁드릴게요. 감사합니다.

 

답변 1

0

일코님의 프로필 이미지
일코
지식공유자

주현님 안녕하세요!

 

① 파이참에서 ipython 실행하는 방법

제가 움짤에서 사용한 툴은 파이참의 파이썬콘솔 화면입니다. (ipython 맞습니다.)

파이참에 별도로 ipython을 설치하실 필요는 없으며,

단순히 명령프롬프트에서 pip install ipython을 실행하셔서 ipython을 설치하시기만 하면

이후부터는 파이참 터미널이나 파이참 콘솔에서도 ipython이 실행됩니다.

ipythonpython에 비해 편의성이나 기능 측면에서도 많은 부분이 개선되어 있으므로

ipython을 사용하시는 걸 추천드립니다.

 

참고로 파이참에서는

터미널을 열고(파이참단축키: Alt-F12) ipython을 입력하여 직접 실행할 수도 있고,

파이참의 "파이썬콘솔" 탭을 여는 방법도 있습니다.(단축키:Ctrl-Tab을 누른채로 "p")

 

만약 pip으로 ipython을 설치했는데도 파이참에서 여전히 >>>프롬프트가 뜬다면

파이참 설정(Ctrl-Alt-S)을 열고

"빌드, 실행, 배포" - "콘솔" 메뉴에서 "가능한 경우 IPython 사용" 체크박스를 활성화하시면 됩니다.

image.png

 

hwp.Run("FileClose")hwp.Clear() 차이

hwp.Clear()hwp.Run("FileClose")는 기본적으로 내용을 버리는 명령어라는 점은 동일한데

hwp.Run("FileClose")는 파일저장 후 변경내용이 있을 때 팝업이 뜨기 때문에 다소 번거롭지만

hwp.Clear()는 팝업을 뜨지 않게 hwp.Clear(option=1)로 실행할 수 있습니다.

 

option 파라미터의 설정값은 아래와 같습니다.

0: 문서의 내용이 변경되었을 때 사용자에게 저장할지 묻는 대화상자를 띄운다.
1: 문서의 내용을 버린다.
2: 문서가 변경된 경우 저장한다.
3: 무조건 저장한다.

해당 영상에서는 습관 때문에 FileClose를 실행했지만,

가급적 작업을 마친 문서를 비우는 경우에는 hwp.Clear(1) 명령어를 사용해주시기 바랍니다.

 

③ 영상분석 피드백

정말 꼼꼼하게 분석하셨네요!ㅎ 몇 가지만 보완설명을 드리면,

hwp.Path는 분석하신대로

파이썬의 hwp변수가 아래아한글에 연결된 상태인지를 확인하기 위해 실행했습니다.

만약 대상 아래아한글창이 닫혔거나, hwp.Quit()가 실행된 이후에는 hwp.Path 실행시 오류가 발생하고,

정상적으로 연결되어 있으면 한/글 파일의 경로 문자열을 리턴합니다.

 

② 파이참의 특정 창 확대

파이참의 터미널(Alt-F12) 창은 Ctrl-Alt-Shift-위아래방향키로 사이즈를 조절할 수 있습니다.

파이참의 파이썬콘솔은 사이즈조절 단축키가 없는 대신 Ctrl-Shift-작은따옴표로 최대화 토글이 가능합니다.

 

특정 패널(창)을 숨기는 방법은 대부분 패널을 여는 단축키를 한 번 더 누르면 됩니다.

예를 들어 Alt-F12를 누르면 터미널이 뜨지만, 한 번 더 누르면 터미널이 숨김상태가 됩니다.

(종료된 게 아니며, 터미널 종료시에는 터미널에 포커스가 있는 상태에서 Ctrl-F4를 누르면 됩니다.)

 

③ "00:00:13 블럭지정해서 코드 복사(ctrl + c)" 부분..

이건 파이참에서 굉장히 유용한 "코드블록 실행" 기능입니다.

단축키는 Shift-Alt-E로,

블록선택 상태에서는 해당 블록 전체를 실행하고,

선택상태가 아닌 경우에는 커서가 있는 라인의 코드를 실행합니다.

 

 사실 해당 영상은 단순히, "열려 있는 문서에도 파이썬으로 접근 가능하다"는 것만 보여드리는 목적이어서

최대한 빠르게 진행을 하기는 했습니다. (죄송ㅜ)

이밖에도 움짤이 너무 빨라서 보기 어려운 경우에는

우클릭으로 다운로드하신 후, 이미지뷰어(무료프로그램 꿀뷰 추천)로 여시면

프레임별 이미지를 확인하실 수 있기는 합니다.

녹화_2024_11_08_07_13_10_2.gif

근데 이렇게까지 해야 한다면 강의나 움짤을 잘못 만든 거라는 생각이 듭니다ㅜ

틈틈이 시간을 내서 교체해야 할 움짤이 있거나, 보완할 텍스트는 수시로 업데이트를 해 두겠습니다.

 

알려주셔서 감사합니다!!

행복한 하루 되세요^^

박주현님의 프로필 이미지
박주현
질문자

질문에도 답변 자세히 해주시고, 몰랐던 유용한 팁들도 알려주셔서 감사합니다.

베이스가 없고 학습 초반이기도 해서 막히는 부분이 너무 많지만, 막히고 해결하는 경험들이 계속 쌓이다 보면 나아지리라 생각하고 꾸준히 해 보려고 합니다.

 

본래의 강의 이외에도 질문드리고 답변 받는 내용 속에서 많은 것들을 배울 수 있어서 정말 좋네요. 감사합니다. ^^

박주현님의 프로필 이미지
박주현

작성한 질문수

질문하기