python

Programing Language/Python

Poetry을 통한 의존성 관리하기

이번에는 파이썬에서 사용하는 의존성 관리 중에 하나인 Poetry에 대해서 알아보고자 한다. Poetry을 왜 사용하나? Poetry는 다음과 같은 이점들을 제공한다. 의존성 해결 : 예를 들어 패키지 1, 패키지 2가 있을 때, 패키지 2가 패키지 1의 2.0 이상의 버전을 요구할 경우 pip에서는 패키지 1을 1.0 버전으로 설치해도 아무런 문제가 없지만 poetry에서는 특정 버전 이상이 아닐 경우 설치가 되지 않는다. 의존성 잠금 : pip는 lock파일이 없고, 직접 requirements.txt을 작성해야하지만, poetry는 lock 파일과 pyproject.toml(requirements.txt처럼 설치한 패키지를 리스팅 해놓은 파일)을 자동으로 생성하고 업데이트한다. 가상환경 : pip는..

Programing Language/Python

unittest을 통해 테스트 코드 작성하기

이번에는 unittest을 통해서 python 테스트 코드 작성 방법과 테스트 코드를 작성하는 이유에 대해서 조금 포괄적으로 다뤄보고자 한다. 테스트코드 테스트 코드를 작성하면 좋은 이점들을 아래와 같이 정리했다. 디버깅 비용(시간) 절감 : 코드를 작성하다 보면, 오류나 결함을 수정하는 데에 있어서 많은 소요비용을 지불한다. 테스트 코드는 개발자가 작성한 코드를 실행하여 예상된 결과가 나오는지 확인하는 데 사용된다. 코드 변경에 대한 불안감 해소 : 가끔 코드를 수정하다 보면 잘 되던 것들도 안 되는 경우가 생기는데 이러한 문제를 해결하게 도와준다. 더 나은 문서자료 : 개발자는 항상 좋은 코드를 작성하기 위해서 노력할 필요가 있다. 테스트 코드는 이런 부분에 있어서 일반적인 문서 자료보다 신빙성 있는..

Programing Language/Python

문자열 모듈 String을 이용해서 문자열 모음 가져오기

코딩 테스트 문제 (백준, 프로그래머스)를 풀때, 조건에서 a - z까지의 영어 문자열이 필요하다던가 1 ~ 9까지의 숫자 혹은 그 외의 어떤 문자들의 집합이 필요한 경우가 많습니다. 이런 경우에는 a - z까지 일일이 다 적어줘야 하기 때문에 만사 귀찮은 문제가 되어 버리는데요 이러한 문제를 해결하기 위해서 파이썬에서는 String이라는 모듈을 제공하고 있습니다. string 모듈이 뭔가요? Python 에서는 특정 분류에 따른 문자 집합을 제공하는 모듈이 존재하는데 이를 string 모듈이라고 합니다. 앞서 설명했듯이 주로 문자열에 대한 규칙성이나 관련 코드를 작성할 때 자주 사용합니다. Python string 모듈에서 제공하는 문자의 집합은 아래와 같습니다. string.ascii_letters ..

Programing Language/Python

requests, bs4, selenium4을 통해 웹 페이지 데이터 크롤링하기

일반적으로 인터넷을 이용하면서 웹에 있는 데이터를 가공하거나 사용해야 하는 경우가 빈번 합니다. 특히 사이트에서 어떤 가격에 대한 데이터를 받아 엑셀로 저장하여 정리하여야 한다던가, 여러 페이지들을 돌면서 최저가 아이템을 구입하길 원하는가 등 여러 니즈들이 있을 수 있는데, 이때 주로 requests, bs4, selenium4을 이용하여 프로그램을 개발하여 해결합니다. 이번에는 파이썬을 통해 해당 니즈들을 해결하기 위해 동적인 웹 페이지에 대한 데이터를 크롤링하는 방법에 대해서 알아보고자 합니다. - 웹 데이터 크롤링이란 프로그램이 웹사이트를 정기적으로 돌면서 정보를 추출하는 것을 의미 합니다. 동적 페이지 vs 정적 페이지 그리고 데이터 수집 정적, 동적 페이지라는 말이 생소하게 들릴 수 있는데 간단..

FrameWork/Django

장고(Django) 프레임워크 소개와 프로젝트 생성하기

파이썬은 빅데이터 영역뿐만 아니라 GUI, Web 분야에서도 쉬운 사용법과 직관적인 문법 덕분에 많은 사용자들이 즐겨 사용하고 있는 언어 중 하나이다. 그중 Web 영역에서 파이썬을 사용하려면 프레임워크를 이용하여 프로젝트를 진행하게 된다면 쉽게 웹사이트를 구축하고 운영할 수 있다. 파이썬으로 활용할 수 있는 프레임워크는 Django, Flask, Fastapi.. 등등 많은 종류가 있지만 그중에서도 어느 정도 완성적으로 기능들을 제공하는 Django 프레임워크에 대해 이야기해보고자 한다. 프레임워크 일단 장고에 대해 알아보기 전에 프레임워크가 무엇인지에 대해서 살펴보자. 프레임워크란 "어떠한 목적을 달성하기 위해 복잡하게 적혀 있는 문제를 해결하기 위한 구조"라고 설명하곤 한다. 그리곤 항상 뜨겁게 나..

Programing Language/Python

pyautogui을 이용하여 자동화 기능 만들기

 최근에 자원봉사로 행정업무 관련해서 봉사활동을 갔습니다. 봉사활동을 하던 도중에 '충분히 python과 pyautogui을 이용하면 이런 쓸데없는 곳에 시간을 낭비하지 않아도 될 텐데;'라는 생각을 했었습니다. 그래서 짤막하게 알아두고 있었던 pyautogui 라이브러리를 사용하여 프로그램을 만들어서 업무를 진행했었는데 공무원들의 환호를 받았었습니다. 이런 컴퓨터 행정업무나, 단순노동에서 힘들어하시는 분들과 pyautogui을 오랫동안 쓰지 않았던 스스로를 위해 해당 내용을 한번 더 정리해보고자 합니다. Pyautogui 왜 쓰는데요? Pyautogui는 python을 이용하여 마우스나 키보드 알림창을 만들때 도움을 주는 라이브러리입니다. API가 되게 심플하게 제작되었으며 윈도나 맥, 리눅스에서도 ..

Programing Language/Python

openpyxl로 엑셀 데이터 다루기

Openpyxl 공식 문서 : https://openpyxl.readthedocs.io/en/stable/index.html openpyxl - A Python library to read/write Excel 2010 xlsx/xlsm files — openpyxl 3.1.2 documentation 1. Please join the group and create a branch (https://foss.heptapod.net/openpyxl/openpyxl/) and follow the Merge Request Start Guide. for each independent feature, don’t try to fix all problems at the same time, it’s easier for ..

Programing Language/Python

Selenium과 Pyinstaller를 이용하여 만든 실행파일 뒤에 검은창이 나올 경우 해결 방법

이번에는 selenium과 pyinstaller을 가지고 나온 exe 파일을 실행시켰을 때, cmd창을 끄는 옵션을 추가했음에도 불구하고 cmd창이 뜨는 오류를 해결하는 방법에 대해 알아보고자 합니다. 오류 selenium을 실행하는 파이썬 코드를 pyinstaller을 통해 exe 파일을 만들어 배포하였습니다. 하지만 exe 파일을 실행할 떄 pyinstaller에서 콘솔이 뜨지 않도록 하는 -w 옵션을 넣어 줬음에도 불구하고 뒤에 cmd(흔히 검은창)이 뜨는 현상이 일어났습니다. 혹시 해당 오류에 대해 다루기전에 pyinstaller 실행 방법이나 옵션에 대해 모르신다면 아래 게시글을 참고 하시면 좋을 듯 합니다. 참고 : https://jheaon.tistory.com/131 파이썬 라이브러리 Py..

Programing Language/Python

Pyinstaller을 통해 py 파일을 각 OS에 맞는 실행 파일로 변환

Pyinstaller pyintsaller는 python 애플리케이션과 모든 종속성을 단일 패키지로 묶어서 사용자가 python 인터프리터 또는 모듈을 설치하지 않고 패키지 된 앱을 실행할 수 있도록 도와주는 라이브러리이다. python 3.7 이상부터 지원하며 현재까지 numpy, matplotlib, PyQt.. 등과 같은 많은 주요 python 패키지들 까지도 번들로 잘 제공되고 있다. 주의해야 할 점은, 크로스 플랫폼이 아니라는 점인데, window 기반에서 exe 파일을 만들었다면, window안에서만 돌아가고, window 외의 운영체제인 mac, linux에서는 따로 파일을 만들어 실행하여야 한다. 자세한 부분은 공식문서 보면서 참고하길 바란다. 공식문서 : https://pyinstalle..

JHeaon
'python' 태그의 글 목록