Daily Life of BlueRose
728x90

전체 글 177

파이썬 Library/API - pyWin32(엑셀/한글 조작용 API) 기초 원리 정리

개요 pyWin32? 윈도우의 각종 환경을 조작할 수 있는 라이브러리 세트로, win32com(COM개체)을 포함하여 win32API, win32con(상수), win32gui(인터페이스)등이 존재한다. API리스트 : http://timgolden.me.uk/pywin32-docs/contents.html PyWin32 Documentation timgolden.me.uk win32Com 라이브러리란? COM(Component Object Model)이라 일컫는 소프트웨어간 공유 언어 체계를 통해, 파이썬을 이용하여 다른 프로그램을 조작할 수 있도록 하는 라이브러리 이론상으로는 윈도우에서 제공되는 모든 프로그램을 조작할 수 있으나, 보안목적으로 자동화를 차단하는 몇몇 프로그램이 존재하므로 각 소프트웨어..

파이썬 Library/API - 오픈소스 저작권

오픈소스 저작권별 준수사항 대표적인 저작권별 특성 GPL : 라이브러리/소프트웨어 자체와 이를 활용한 2차 창작물 또한 모두 GPL을 준수하여 소스코드를 공개해야 한다. 다만, 원저작자의 재량에 따라 예외조항이 설정된 경우, 이를 인정한다. ex) Pyinstaller(단, 개작없이 프로그램 사용시 GPL 준수의무 배제) LGPL : 라이브러리를 동적링크(DLL파일 활용 등)의 형태로 이용하여 프로그램을 개발한 경우, 새로운 소프트웨어를 개발하여 판매하는 것이 허용된다. 다만, LGPL코드를 사용한 부분에 대한 공개의무는 여전히 있다(DLL파일의 소스코드 공개)* 파일 내에 라이브러리가 온전히 포함되는 것은 정적 라이브러리라고 부른다. ex) Pyside2 Python Software Foundation..

파이썬 - 표준 라이브러리(사용해본것만 일부 정리)

datetime(날짜 개체 다루기) 날짜 개체 선언 = datetime.date(int 년, int 월, int 일) 날짜 개체간 연산 = (개체1 – 개체2).days // 결과값은 int로 반환됨 날짜개체 ⇒ 문자열 변경 : datetime개체.strftime(’%Y-%m-%d’) os(윈도우 조작) 파일명 변경 os.chdir('변경할 위치') for uFile in os.listdir(): os.rename(uFile, uFile.repalce('바꿀대상문장', '대체할텍스트') 경로 찾기 os.path.abspath('.')#자동적으로 \(외자 백스페이스)를 \\(텍스트형)로 고쳐줌(\ 1개 사용은 예외 유발) String에서 경로 추출하기 os.path.isdir(STRING)#STRING의 ..

파이썬 기초(2) – 문자열, 리스트, 셋 및 클래스 관련 기능

문자열 관련 기능 텍스트 결합/추출/조작 +를 이용한 결합 : String 끼리는 +를 이용하여 연결할 수 있다. *를 이용한 복제 : String에 *n을 이용하여 문자열을 여러번 반복할 수 있다. 인덱스를 이용한 추출 : String의 인덱스로 Char를 추출할 수 있다. 음수도 입력가능하다. 인덱스를 이용한 슬라이스[start : end : step] : [start : end-1] 사이 문자를 추출. step으로 몇 글자씩 건너뛰면서 가져오는 것도 가능. String을 특정 문자로 나누기 : (문자열).split(“나눌문자”) String을 특정 문자로 결합하기 : (“결합문자”).join(순회가능한 개체) join은 리스트/튜플의 메서드가 아니라 String을 위한 메서드다. 따라서 반드시 St..

파이썬 기초(1) - 공통문법, Comprehension, Packing, Decorator

간략한 공통 문법 Spyder IDE에서 일괄 들여쓰기 : Ctrl + ] 코딩 중 구획 나누기 : #%% 코딩 중 줄바꾸기 : \ if문 if 조건문 : 실행할 코드 elif 조건문 : 실행할 코드-2 else : 실행할 코드-3 산술연산 몫 : a // b 나머지 : a % b 제곱 : a * * b 논리 연산 : and / or / not을 사용가능하며, 한 줄에 연속사용시 not을 우선적으로 계산한 후, 앞에서부터 순차적으로 1:1로 and/or연산을 시행한다. 삼항 연산자 : C++의 '(a > b) ? a : b’에 대응하는 삼항 연산자는 ‘a if a>b else b’ 반복문 continue : 반복문의 이번 회차 실행을 종결하고, 다음 순번으로 넘어간다. break : 반복문 자체를 종결하..

파이썬 웹자동화 - 자바스크립트 활용 및 PyAutoGui 사용법

여는 글 앞서 언급했듯 셀레늄에서 CSS_Selector로 선택하기 어려운 개체는 결국 자바스크립트를 사용하게 됩니다. 아울러, 홈페이지내 구축되어있는 자바스크립트를 직접 사용해야 하거나, Return값을 받아야 하는 등 Seleinium만으로는 처리하기 어려운 경우도 종종 있는편이죠. 방법을 알아두면 접근법이 상당히 늘어나니 간단하게라도 알아두는 편이 좋습니다. PyAutoGui는 셀레늄을 이용하여 웹업무를 자동화 할 때, 빼놓을 수 없는 라이브러리이다. 마우스로 특정 개체를 선택하고, 키보드 입력을 전달하는 등 핵심적인 기능을 수행하다보니 셀레늄과 항상 같이 붙어다니는 편입니다. 그 외에도 파일 불러오기 창을 여는 등 여러 기능이 있으니 배워두면 추후 기성 어플리케이션의 형태로 만드는데 tkinter..

파이썬 웹자동화 - 셀레늄 및 관련 라이브러리 기본 사용법

개요 셀레늄은 크롬 뿐 아니라 다양한 웹브라우저를 자동화하여, 각종 웹페이지에서의 업무 처리를 자동화하는 라이브러리입니다. 웹을 자동화한다면 대부분 셀레늄을 사용하지 않을까 싶네요~! 물론 셀레늄 외에도 다른 크롤링, 자동화 툴이 있지만, 셀레늄이 가진 장점인 보이는 웹페이지를 직접 제어하는 점과 그로 인하여 초보자도 쉽게 접근이 가능하다는 점이 있기에 비교적 많이 사용되는 것 같습니다. 용도 : 크롤링 및 웹 자동화 설치 기반 파일 설치 : google 크롬드라이버를 다운로드 받아, 압축해제 후 실행하려는 파이썬 스크립트에 넣어준다(같이 안넣을 경우 별도의 경로지정 필요) ※ 링크 : https://chromedriver.chromium.org/downloads 모듈설치 : pip install sel..

파이썬 웹 자동화 - 셀레늄 활용을 위한 CSS 선택자

여는 글 CSS 선택자는 셀레늄을 통해 홈페이지의 특정 구성요소를 선택하는데 유용하게 사용됩니다. 사실 CSS 말고도 ID, 클래스, 태그 등등 여러가지 사용방법이 있지만 결국은 CSS_Selector가 범용적으로 사용 가능하므로 CSS_Selector를 활용하는 방법의 하위호환이나 다름없다고 생각합니다. 저는 특히 값/인자를 통해 찾는 방법과 속성 간 관계를 이용하여 선택하는 방법을 개인적으로 선호하는 편인데요. 상위 태그 1~2개만 특수하게 지정해도 원하는 대로 선택이 가능해져서 꽤나 편리하더라구요. 기본 전체 선택자 : ‘*’ 태그를 통해 선택하기 : 태그 // 태그명만 그대로 사용하라는 의미이다. 속성(Attribute)을 통해 선택하기 클래스 : 태그.클래스명 아이디 : #아이디 그 외 속성 :..

한글, 한컴오피스 - 보고서를 한 페이지로 만들기 위해 필요한 기능들

개요 회사에서 각종 보고서를 작성하다보면 애매하게 1페이지를 넘어가는 경우가 많아, 이를 한 페이지로 줄여야 할 때가 있습니다. 특히 공공기관으로 공문을 보낸다던가, 각종 프로모션 안내문이라던가 2페이지가 되는 순간 소요 비용이 증가하는 등의 문제로 한 페이지로 줄일 방법을 찾게 되는 경우가 꽤 있더라구요. 이러한 문제 상황때마다 선배들, 팀장님들로부터 받은 조언들을 모아 하나의 노하우로 정리해보았습니다. 글자의 폭과 너비를 줄여서 두 줄을 한 줄로 줄이기 자간 조절 기능소개 : 문자의 간격을 줄이는 기능 주의사항 : 너무 줄이면 글자끼리 겹침 접근법 즉석에서 조절하기(단축키) 자간 줄이기 : 자간을 줄일 문장을 드래그한 후, Alt+Shift+N(Narrow의 약어) 자간 늘리기 : 자간을 넓힐 문장을..

IOT용 물품(스마트싱스 등)을 살 때 주의할 점

여는 말 : 나의 IOT 입문기 첫 IOT 기기 구입 : 스피커와 전등 제가 가장 처음으로 IOT 기기를 산 것은 NUGU 스피커와 반디통신사의 SKT 스마트스위치였습니다. 아침에 일어나는데 너무 어려움을 겪어서, 기상시간에 맞춰 불을 켜고 끄는 기능을 활용하기 위해 샀는데 스피커를 이용하여 불을 켜고 끄는 점이 생각보다 꽤 유용하더군요. 아울러, 시간대가 되면 자동으로 불이 켜지다보니 피곤해도 일을 가기 위해 일어나는데 어려움이 적었습니다. 하지만 하필 전등을 하나 잘못사는 바람에 어쩔 수 없이 스위치를 아날로그로 바꿔야했고, 굳이 돈주고 산 전등을 버리기도 아깝다보니 스위치를 예전의 것으로 바꾼채로 한참을 사용하게 되면서 IOT 기기 첫 사용은 그렇게 끝이 났습니다. 스마트싱스로 다시 시작 직장인들이..

반응형