반응형

파이썬 25

파이썬 pyautogui를 이용한 업무자동화

업무자동화를 하면 1당 100의 효율로 쉽게 일을 처리할 수 있는 일이 많다. 예를들어 메일을 발송하는데 똑같은 내용을 수십명에게 보낼 경우 처럼 반복적인 일을 할 때 더욱 그렇다.파이썬의 pyautogui라는 패키지를 사용하면 이런 반복적인 작업을 쉽게할 수 있다. 물론 작업의 성격에 따라서 안되는 것도 있지만, 예전에 사용하던 매크로 프로그램이 할 수 있는 일들은 대부분 다 할 수 있다.참고로 pyautogui는 2014년도에 처음 release되었다.pyautogui의 기본적이 기능을 익히면 응용은 대단히 쉽다. 물론 파이썬을 조금이라도 안다면 말이다.이 패키지가 가지고 있는 함수를 먼저 알아보자.주요함수position : 마우스 커서의 위치좌표 (*모니터 스크린 왼쪽 위가 좌표가 (0, 0)으로 ..

파이썬 웹크롤링의 기초(1) urllib

웹에는 정말 수많은 데이터가 존재합니다 그리고 현 시점에서는 수 많은 사람들이 웹 상에서 데이터를 뽑아내고 있죠. 마치 금광에서 금을 캐는 것 같은데 다른 점이라면 웹 상의 데이터는 고갈되지 않는 다는 점입니다. 이렇게 시간이 갈 수록 점점 많아지는 데이터는 축척될 수록 빅데이터로서 더 가치있게 되겠죠.데이터의 중요성을 알기는 하지만 어떻게 뽑아내야할지 모른다면 낭패입니다.수작업으로 하는 것은 한계가 있고 업체를 이용하자니 장기적인 플랜이라면 비용이 생각 이상으로 들 수도 있구요.이 강의는 웹크롤링 강의로 웹 크롤링을 배우고자 하시는 분들을 위한 강의며 파이썬을 이용합니다. 파이썬의 기초에 대한 강의는 인터넷 상에 많이 있으니 어렵지 않게 배우실 수 있습니다. 본인의 블로그 역시 파이썬의 기초에 대한 강..

빅데이터 분석에서 판다스(pandas)를 알아야 하는 이유.

이 글은 빅데이터 분석에 관심을 갖거나 시작하려는 분들에게 도움을 주는 글입니다. 최근 동향을 보면 빅데이터 분석을 쉽게해주는 도구로 파이썬, 판다스(pandas)가 대표적이다. 판다스는 파이썬(python)이라는 프로그래밍 언어로 만들어진 프레임워크다. 쉽게말해서 파이썬 문법으로 사용할 수 있는 도구의 집합체 정도로 요약해두면 된다. 그러니 판다스를 사용하려면 파이썬(python)을 기본으로 알고 있어야 한다. 그리고 판다스와 함께 numpy란 녀석도 곁가지로 꼭 알아두어야 한다. numpy는 C언어로 구현된 python 바인딩 수학(math) 패키지(프레임웍)다. 쉽게 말해서 numpy에서 제공하는 수학연산에 대한 구현이 c언어로 최적화 되어있어 매우 빠르다. 예를들어 데이터를 다루면서 벡터연산(한번..

데이터 시각화를 위한 파이썬 matplotlib

데이터를 시각화하는 도구로는 matlab이 유명하지만 유료라는 점이.. 그리고 가격도 개인이 사용하기에는 너무 비싸다. 무료를 찾는 다면 당연히 파이썬의 matplotlib를 고려할 것이다. 파이썬은 거의 모든 분야에서 활용이 가능한 범용언어라는 이점이 있고 쉬운 문법과 정말 셀수 없이 수많은 라이브러리의 빵빵한 지원이 있다. 파이썬 문법만 익혀놓으면 다양한 분야(인공지능, 빅데이터, 웹, 수학, 과학 등..)와 데이터 분석을 점목시키기에 안성맞춤인 셈이다. 데이터 시각화를 위한 라이브러리 matplotlib를 사용하려면 아나콘다를 설치하기를 추천한다. 아나콘다는 기존의 파이썬 + matplotlib + 수학,과학을 위한 라이브러리들을 묶어 배포하는 파이썬이다. 파이썬과 matplotlib 등의 라이브러..

프로그래밍/python 2017.06.01 (1)

파이썬 가위바위보 알고리즘

가위바위보 문제를 해결하는 방법은 여러가지가 있습니다. 하지만 그 근본은 가위, 바위, 보 각각을 숫자로 매핑해서 대소를 비교하는 것입니다. 대소를 비교하는 방법은 너무 다양해서 딱히 어떤 방식이 가장 좋다고 볼 수 없습니다. 비교 가지수도 9가지 뿐이므로 모든 경우를 다 비교하는 것도 어렵지 안고 효율성도 나쁘지 않습니다. 가위를 1로 두고 바위(2), 보(3) 이렇게 숫자로 매핑하면 됩니다. 매핑은 파이썬 사전을 사용하면 됩니다.(아래 코드 참조) 여러명이 가위바위보 게임을 할 수도 있겠지만 여기서는 컴퓨터와 나, 이렇게 둘이서 게임을 하는 프로그램을 작성합니다. 다음은 모든 경우를 비교하는 방법을 사용해서 컴퓨터와 가위바위보를 하는 코드입니다. 파이썬 아나콘다 3.5.2를 사용했고 IDLE 상에서 ..

파이썬으로 로또 번호 생성기 만들기

로또 번호를 생성하기 위해 난수를 발생시켜야 합니다. 파이썬 난수에 관한 모듈은 random 모듈 입니다. 이 모듈 내부에 Random 클래스가 존재하고 메르센 트위스터 생성기를 사용하여 난수를 생성합니다. random 모듈을 import 하면 Random클래스의 객체가 _inst라는 이름으로 생성되고 내부의 멤버 함수들이 멤버함수이름 = _inst.멤버함수이름 이라는 형식으로 바인딩됩니다. 예를들어 random.random은 random._inst.random를 바인딩한 함수라고 표현할 수 있습니다. 2017/04/23 - [프로그래밍/python] - 파이썬 랜덤(random) 모듈로 난수 생성하기 어찌되었건 random모듈에 대한 구체적인 사용법은 위 링크를 참조하고 간단한 로또 번호 생성기를 만들..

프로그래밍/python 2017.04.25 (3)

파이썬 랜덤(random) 모듈로 난수 생성하기

랜덤한 숫자를 뽑아내는 알고리즘은 프로그래머가 따로 만들 필요가 없습니다. 파이썬의 경우는 random모듈을 사용해서 랜덤한 수를 뽑아낼 수 있는데 여기에 사용되는 알고리즘 엔진은 메르센 트위스터(Mersenne Twister) 생성기라는 것입니다. 임의의 값을 뽑아내는 데 이 생성기를 많이 사용하죠. 이것을 의사난수 생성기(Pseudo-random)이라고 하는데 의사라는 말은 가짜라는 뜻으로 추측이 가능하다는 말입니다. 가짜라고 해서 품질이 나쁜건 아닙니다. 메르센 트위스터는 품질이 좋은 의사난수를 생성해 내며 사용자 입장에서는 정말 난수처럼 보입니다. 단지 엄밀히 따지자면 수학적인 계산을 통해서 만들어진 수이므로 f:x->y 처럼 함수관계가 있다는 것 뿐입니다. 저도 잘은 모르지만 난수를 생성하는 엔..

프로그래밍/python 2017.04.23 (1)

파이썬 tkinter에서 쓰레드를 사용하려면

tkinter에서 쓰레드를 사용하려면 tkinter가 어떻게 동작하는지 어느 정도 이해가 필요합니다. 우선 tkinter 프로그램을 실행하면 메인 쓰레드에서 GUI로 동작하게 될 객체의 mainloop를 호출해야 합니다. 이 호출로 인해 메인 쓰레드에서의 코드는 더 이상 실행되지 않고 멈추게 되면서 새로운 쓰레드가 시작되어 이벤트 루프와 GUI의 update가 계속 진행됩니다. 우리가 보통 프로그램을 실행할 때 보이는 단추나 텍스트 등이 보이면서 사용자의 입력에 반응하는 것이죠. 사용자가 프로그램 닫기 단추를 누르면 이 루프가 종료되면 메인쓰레드의 코드가 다시 진행되게 됩니다. 이 후의 코드가 있다면 실행되겠죠. 프로그램 실행 중에는 버튼이 눌리면 해당 리스너가 호출되고, GUI 요소를 옮기거나 하면 새..

PYINSTALLER로 파이썬 실행파일 만들기

파이썬으로 만든 파일은 py라는 확장자를 가진 스크립트 파일이다. 이 파일을 실행시킬 때는 반드시 시스템에 해당 버전에 맞는 파이썬이 설치되어 있어야 한다. 따라서 배포를 목적으로 파이썬으로 프로그램을 만들기 위해서는 py2exe와 같은 유틸리티가 필요하다. py2exe는 파이썬2 문법으로 만든 파이썬 파일을 실행파일(exe)로 만들어준다. 파이썬3 문법으로 만들었다면 py2exe를 사용할 수 없다. 대신 pyinstaller를 사용하면 된다.(윈도우즈 환경에만 해당) 기본적인 사항py확장자를 가진 스크립트 파일의 용량을 살펴보면 1MB를 넘는 파일은 드물다. 하지만 exe파일로 바꿔놓고 나면 아주 작은 녀석의 경우도 10MB정도 될 것이다. 이것은 파이썬 파일을 실행파일(exe)로 만들 때 파이썬이 설..

프로그래밍/python 2017.04.05 (9)

텐서플로우 tensorflow 설치 파이썬, GPU 이용

앞서 아나콘다 설치와 GPU연산을 사용하기 위한 CUDA 툴킷을 설치했다. 이젠 텐서플로우만 설치하면 바로 실습에 들어갈 수 있다. 앞에서 아나콘다를 관리자 권한으로 설치하지 않았다면 문제가 발생할 수 있으므로 관리자 권한으로 설치하지 않았으면 재설치하도록 한다. 아나콘다에서 텐서플로우를 그냥 설치할 수도 있고 가상환경을 이용해서 설치할 수도 있다. 가상환경을 이용한 설치 방법은 여기를 참고하도록 하고 여기서에서는 그냥 텐서플로우를 설치하도록 하겠다. 윈도우 커맨드 창을 열도록 한다. 우선 아나콘다가 제대로 설치되었는지 확인한다. python 3.5.2 | Anaconda 4.2.0(64-bi)... 이렇게 나오면 제대로 설치된 것이다. quit() 또는 ctrl+z로 빠져나온 뒤에 다음과 같이 입력하자..

반응형