Daily Life of BlueRose
728x90

전체 글 170

파이썬 Library/API - Pyinstaller(실행파일 제작 / 소스코드 보호)

Pyinstaller는 파이썬으로 제작한 파일을 배포할 수 있도록 실행파일로 만들어주는 프로그램입니다. IDE와 실행파일이 엑셀 그 자체인 VBA와 달리, 파이썬은 코드를 실행파일로 만들어서 배포해야 합니다. C++을 실행파일로 만드는것과 동일한 셈이죠. 그러나 C++... 정확히는 코드작성을 위한 비주얼스튜디오에서 EXE파일 생서을 지원해주는것과 달리, 파이썬의 경우에는 PyInstaller라는 별도의 라이브러리를 사용해야 합니다. 본인만 사용하는 코드라면 크게 상관없지만, 다른사람들과 공유하려면 꼭 알아둬야 하는 필수 라이브러리입니다. 애초에 EXE파일 생성이라는 단일 기능을 위해 사용하는 만큼 크게 변경할 부분이 없다보니, 사용법은 꽤나 간단한 편입니다. 저작권 원칙 : GPL 라이선스 예외조항 :..

파이썬 Library/API - pyWin32로 엑셀 조작하기

여는 글 거창하게 사용방법 정리라고는 했지만, 사실 VBA에서 사용하던 코드를 거의 그대로 사용하기 때문에 몇몇 차이점만 주의하여 알면되는 편입니다. 대부분의 내용에서 이전에 다루었던 한글에 대한 조작과 대동소이하며, 응용프로그램을 켜거나 닫는 등의 기본기능은 제외하고 차이점 위주로 간단하게만 기술하겠습니다. 파이썬에서 달라지는 문법 정리 동일한 내용이라도 VBA와 Python에서 코드차이가 있다 동일한 내용을 구현하는데 이상하게 차이가 난다. 이유까지는 모르겠지만... 아마 내부용 코드, 외부용 코드가 분리되어 있는게 아닐까 생각한다. 응용상의 팁 VBA의 강력한 접근성에도 불구하고 파이썬을 사용한다면, 아무래도 VBA의 10년도 넘은 구질구질한 제약에서 벗어날 수 있다는 점이 가장 메리트일 것이다. ..

파이썬 Library/API - pyWin32로 한글 조작하기

개요 및 주의사항 한글에서 제공하는 API의 구분 보안모듈 (엄밀히 말하면 API는 아니지만…) 한글 컨트롤 API : 한글 ActiveX 컨트롤을 위한 API로 웹에서 사용시에만 필요하다 한글 오토메이션 API : 파이썬을 통해 로컬에서 한글을 실행하는 경우에 필요하다 환경설정의 일환으로 보안모듈을 설치해주자 보안모듈을 적당한 폴더에 넣어준다. 레지스트리에 보안모듈이 설치된 경로를 등록한다. 등록경로 : 레지스트리 실행(윈도우키+R 버튼을 눌러서 '실행’창 켜기 - Regedit 입력 후 확인) - HKEY_CURRENT_USER\Software\HNC\HwpCtrl\Modules로 이동 (이때, Modules라는 폴더가 없다면 만들어준다) 최종 경로 진입 후, 우클릭 - 새로 만들기 - 문자열 값을 ..

파이썬 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..

반응형