Daily Life of BlueRose
728x90

파이썬 14

한글을 파이썬(pywin32)으로 열었을 때 검은화면이 뜨는 경우 해결방법

여는 글파이썬으로 한글을 조작하는 경우, 아래 스크린샷처럼 드물게 한글 화면이 검게 보이는 경우가 있다. 재밌는건 이 상태로도 한글 조작 자체는 가능하다는 점. 때문에 조작하는데 크게 문제는 없지만, 아무래도 화면이 보이지 않으니 제대로 처리가 이뤄지고 있는지 알기가 어렵다.  때문에 개발자 포럼에 문의를 했더니, 다행히 다른 분들께서 해결책을 제시해주셨는데, 이러한 문제는 win32gui를 사용하는 경우에 발생한다고 한다. 해결방법통상 인터넷에서 사람들이 파이썬/Win32Com을 통해 한글을 조작할 때 안내를 주는 방식은 아래와 같다 파이썬으로 win32com 라이브러리를 불러온다.win32com을 통해 한글을 실행한다.win32gui를 통해 방금 열린 한글 창을 조작할 수 있는 변수에 담는다. 내 경..

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

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

파이썬 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 : 반복문 자체를 종결하..

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

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

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

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

파이썬 설치하기 – 파이썬, IDE, LIbrary 설치(winPython, 직접설치)

설치 전 알아야 할 사항 아나콘다 유료화로 인한 무료 사용 불가 : 기존엔 Conda를 통한 설치가 대중적이었으나, 2020년부로 정부/200인이상 기업 대상 유료화에 따라 개별설치가 필요합니다. 대안1 : 무료오픈소스 배포팩인 WinPython을 설치합니다. 장점 : Python 본팩, Jupyter, Qt, Spyder를 별다른 조치 없이 한 번에 설치가 가능합니다. 단점 : 파이썬 최신버전 사용이 아닌 호환가능한 최종 버전을 사용하며, 불필요한 배포 패키지가 한번에 함께 설치될 수 있습니다. (물론, 설치프로그램에서 설치할 패키지를 취사선택이 가능하며, 개별적으로 설치하는것보다 훨씬 간편하기에 큰 의미는 없겠지만…) 대안2 : 아나콘다가 제공하는 가장 주요한 기능을 아래와 같이 대치하여 이용합니다...

반응형