본문 바로가기

Python113

[QnA]문서간 순서가 달라도 유사조항을 찾아서 비교하는 프로그램? 저는 ㅇㅇㅇ이라고 합니다. 회사에서 두개의 텍스트를 검증할 일이 빈번해서 회사원님의 유튜브를 시청하고 파이썬 쥬피터를 통해서 제업무에 적용해보았습니다. 8강 소스코드에서 예제와 동일하게 코드를 테스트 하던중 IndexError Traceback (most recent call last) in 91 for copy_statement in copy_full_text: 92 coupled_dict[difflib.SequenceMatcher(None, original_statement.split(' ', 1)[1], ---> 93 copy_statement.split(' ', 1)[1]).ratio()] = copy_statement 94 max_ratio = max(k for k, v in coupled_di.. 2021. 5. 18.
PySide6 메모장 만들기: 열기, 저장 및 끝내기 구현 지난 시간에는 지난 시간에는 QtDesigner 내에서 ①파이썬 코드를 생성한 후 복사해서 파이참에 붙여넣는 방식으로 ui변환을 생략하고 파일을 직접 업데이트하는 방법을 보여드렸습니다. ②또한 "새 창(W)" 메뉴를 클릭했을 때 윈도우 인스턴스가 하나 더 생성되도록 시그널(triggered)과 슬롯(add_window메서드)을 연결하는 작업도 해보았고, 가장 중요하다고 할 수 있는 ③레이아웃과 플레인텍스트 위젯도 배치해보았습니다. 해당내용이 궁금하신 분은 아래 링크를 참고해주시기 바랍니다. 1. PySide6 메모장 만들기 - 위젯 추가하기 우린 지금 어디쯤? 지금 우리는 윈도우10의 기본프로그램 중 하나인 메모장을 PySide6로 클론코딩하는 작업을 진행하고 있습니다. 지난 포스팅에서는 메모장의 틀을 .. 2021. 4. 9.
하스켈이 문득 궁금해지기 시작했다..ㅜ 파이썬을 배우기 시작한 이후 몇 달간은 문법을 익히는 게 걸림돌이 되지 않았다. 엄밀히 말하면, 어려워 보이는 개념은 "이해를 보류"했다. 그래도 내 단순업무를 자동화하거나, 간단한 웹프로그래밍을 배우는 데는 아무 문제가 없었다. 생활코딩 이고잉 선생님의 유튜브 영상을 보고 깨달은 건데, 일부러 스스로를 학습의 지옥으로 던져넣을 필요는 없었다. 만약 풀리지 않는 문제, 까다로운 문제가 발생하면 그 묵혀둔 답답함을 가지고 검색과 학습 끝에 해결책을 찾았을 때, 그 "지옥" 같던 학습이 "오아시스" 같은 즐거움으로 바뀐다는 경험을 얕게나마 프로그래밍을 배우면서 느끼게 되었다. 그런데...이놈의 왕성한 호기심은 어찌할 수가 없다. 사람이란 게 오랜 지루한 분야보다는, 완전히 새로운 분야가 훨씬 재미있어 보이게.. 2021. 2. 7.
[교육업무자동화7/7] 영수증자동화(개별저장 및 찾아바꾸기) 지난 포스팅은... [교육업무자동화6/10] 청구서자동화6(pyinstaller로 배포하기) 지난 포스팅은... [교육업무자동화5/10] 청구서자동화5(개선할 부분 찾아보기) #중급 지난 포스팅은... [교육업무자동화4/10] 청구서자동화4(청구서 마무리하기) 지난 포스팅은... [교육업무자동화3/1 www.martinii.fun 지난 포스팅까지 6개 과정으로 청구서 자동화까지 마쳤다. (다소 부족한 대로) tkinter의 GUI도 붙여보았고, exe파일로 컴파일도 해보았다. 꼼꼼히 따라해보았던 독자들께서는 한/글에서 기본으로 제공하는 API 메서드 외에도 추가적인 기능보완을 위해 파이썬 단에서 일종의 함수를 만들어 사용하거나, 파이썬의 기본문법이나 모듈을 활용하여 원하는 기능으로 보완할 수 있다는 것도.. 2021. 1. 31.
문서 안의 컨트롤을 차례대로 선택하는 가장 간편한 방법 먼저, 아래아한글에서 "한글컨트롤", 혹은 "컨트롤"이라 함은, 일반적인 문자열 외에 삽입되는 그림, 표, 벡터이미지, 미주각주나 계산식 등의 "오브젝트"를 뜻하는 용어이며, API매뉴얼 예제에 컨트롤을 선택하는 예제코드가 몇 개 들어있다. 정확히 의미를 몰라도 되니, 아래 코드를 가볍게 한 번 읽어보자. 1. Visual Basic으로 문서 중의 각주를 카운트하는 코드 Dim ctrlcode As CtrlCode cnt = 0 Set ctrlcode = HwpCtrl.HeadCtrl While Not ctrl Is Nothing If ctrlcode.CtrlID = "fn" Then cnt = cnt + 1 End If Set ctrlcode = ctrlcode.Next Wend MsgBox cnt 2.. 2021. 1. 13.
[4/4] 파이썬으로 정관.HWP 서식잡기 종합 지난 포스팅은... [3/4] 정관문서 서식잡기(장이름 중앙정렬, 위아래 빈라인 삽입) 3번 질문============== 정관 제 1 장 총칙 제 1조 제 2조.. 제 3조... 제 2 장 주식과 주권 제 4조.... 제 5조.. 제 3 장 임원 제 6조 등과 같을 때. 장의 위치를 페이지 가운데로 위치하고 싶고, 또한 각 장 www.martinii.fun 중앙정렬과 각 조항 위아래 빈 줄을 추가하는 것을 끝으로 정관이나 법령 서식 교정하기 콘텐츠는 마무리를 지으려 한다. 이번 포스팅에서는 추가 정보를 제공하는 것보다는, 1. 입맛대로 개별의 코드를 하나의 파일로 모아서, 한 번에 실행할 수 있다는 걸 보여주고 싶고, 2. 아래에서 보여줄 예제처럼, 모든 함수를 한 파일에 우겨넣으면 파일이 굉장히 비대.. 2020. 12. 16.
대부분의 업무자동화는 코드가 너무 복잡하던데(?) 대충 5년 가량 파이썬과 VBA로 엑셀 자동화, 아래아한글 자동화를 종종 다뤄본 입장에서 깨달았던, 가장 공유하고 싶은 인사이트는 바로... 업무자동화가 코딩 입문이나 기초과정보다는 훨씬 어렵다는 것이다. (물론 엄청나게 간단하면서 효율적인 스크립트도 참 많기는 하다.) 혼자 몇 년 찬천히 삽질할 때는 잘 못 느꼈는데, 몇 번 다른 사람에게 가르쳐주려다 보니까 새삼 깨닫는다. 오랜 삽질도 자산이었다. 순식간에 지나가는 쌔한 느낌을 간과하면 항상 버그가 나타났다. 결국 잠깐 업무자동화 코드 짜려고 파이참 켰다가 한 시간 있다 보면 디버깅과 테스트, 온갖 익셉션을 다루고 있다. 오죽하면 요즘은 (말도 안 된다고 생각했던) TDD라는 개념도 배워보고 있다. 혹시 도움이 될까봐서.. 결국 하다 보면 어느 지점에.. 2020. 12. 12.
[3/4] 정관문서 서식잡기(장이름 중앙정렬, 위아래 빈라인 삽입) 지난 포스팅은... [2/4] 정관문서 서식잡기(장이름, 조제목만 굵게) 부탁 드렸던 방법은 제가 회사의 정관을 많이 손 보아야 하는 직업이라. 수년전 한글내에서 매크로로 겨우 조항 제목 문자 굵게 만들고, 2번 질문====================== 제 1조(상호) 제 2조(목적)을 다 www.martinii.fun 3번 질문============== 정관 제 1 장 총칙 제 1조 제 2조.. 제 3조... 제 2 장 주식과 주권 제 4조.... 제 5조.. 제 3 장 임원 제 6조 등과 같을 때. 장의 위치를 페이지 가운데로 위치하고 싶고, 또한 각 장 줄의 위와 아래에 빈 줄을 삽입해 넣고 싶습니다. 즉, 빈줄 정관 빈줄 제 1 장 총칙 빈줄 제 1조 제 2조.. 제 3조... 빈줄 제 2 장.. 2020. 12. 12.
[2/4] 정관문서 서식잡기(장이름, 조제목만 굵게) 지난 포스팅은... [1/4] 정관문서 서식잡기(조번호 앞 공백 추가) 1번 질문:=========================== 제[공백][공백]1조 제[공백][공백]2조 . . 제[공백]13조 제[공백]14조 등과 같이 앞에 3자리를 기준으로 빈 공백을 놓아 두고 싶습니다.... 그러면 ”조“자의 위치가 나 www.martinii.fun 부탁 드렸던 방법은 제가 회사의 정관을 많이 손 보아야 하는 직업이라. 수년전 한글내에서 매크로로 겨우 조항 제목 문자 굵게 만들고, 2번 질문====================== 제 1조(상호) 제 2조(목적)을 다음과 같이 굵게(BOLD) 하고 싶습니다. 제 1조(상호) 굵게 제 2조(목적) 굵게 이와 같이 굵게 칠하고 싶습니다. - (후략) 한 구독자 분으.. 2020. 12. 11.