[python] 파일 다루기 – 열기/읽기/쓰기/with/encoding

이번 글에서는 python에서 파일을 읽고 쓰는 법에 대해 알아보겠습니다. 파일 열기 파일 읽기/쓰기를 하기 위해선 우선 파일을 열어야 합니다.파일을 열기 위해서는 아래의 open 함수를 사용합니다. 보통 간단하게 파일을 읽고 쓸 땐 open 함수 인자 중 file path, mode, encoding 인자를 사용하는 경우가 많습니다. 아래는 open 함수에 대한 샘플 코드입니다. 그리고 open 함수를 실행했을 경우 close 함수를 호출하여 파일을 닫아줘야합니다. … Read more

[python] 구글 번역 사용하기 – googletrans

이번 글에서는 파이썬으로 구글 번역을 사용해보도록 하겠습니다. googletrans 패키지는 사용이 편리하여 번역 api로 많이 사용됩니다. 설치 아래와 같이 googletrans를 설치해줍니다. 4.0.0 버전 이전의 googletrans는 문제가 많아서 실행이 안되는 경우가 많습니다. 4.0.0으로 지정하여 설치를 해줘야합니다. 패키지 그 다음 아래와 같이 패키지를 import합니다. 번역하기 번역하는 것부터 알아보겠습니다. 우선 한글을 영어로 번역하는 것을 해보겠습니다.아래와 같이 Translator 객체를 생성한 뒤 translate함수를 사용해줍니다. 참 쉽죠? … Read more

[python] 특정 주기/시각 마다 스케줄 수행 – schedule

이번 글에서는 특정 주기과 특정 시각에 스케줄을 수행하는 방법에 대해 알아보겠습니다. 해당 기능을 구현하기 위해서 schedule 모듈을 사용하였습니다.(참고 링크)해당 모듈은 사용법이 쉽고 직관적이여서 간단한 스케줄 작성 시 많이 사용됩니다. schedule을 사용하기 위해 아래와 같이 모듈을 설치합니다. 특정 주기 특정 주기마다 schedule을 수행하는 예제 코드는 아래와 같습니다. 특정 시각 특정 시각에 schedule을 수행하는 예제 코드는 아래와 같습니다. job 함수에 파라미터 전달 아래 todo_job2 함수의 text 파라미터에 값을 전달할 수도 있습니다. 주의점 공식 홈페이지에서도 schedule을 사용할 때 간단한 스케줄링에만 … Read more

[python] 계산 결과 응답하는 텔레그램 봇(telegram bot)만들기

이번 글에서는 파이썬으로 텔레그램 봇을 만들어 보겠습니다. 글의 순서대로 진행하는걸 추천드립니다.(참고 링크) 봇 만들기 코딩을 하기전에 우선 텔레그램 봇 토큰을 할당 받아야 합니다. BotFahter에 대화를 걸어서 /newbot 을 입력합니다. BotFather 검색 및 /newbot 입력 BotFather 검색 및 /newbot 입력 정상적으로 /newbot을 입력했으면 BotFather가 봇의 호출 이름을 정하라고 합니다. 작당히 이름을 만들어 줍니다. 저는 test_3001ssw_bot으로 했습니다. 봇 이름 설정 정상적으로 진행되었으면 … Read more

[python] datetime 날짜/시간 차이 계산하기 – timedelta, relativedelta

이전 글에서 datetime에 대해 간략히 알아봤습니다.이번 글에서는 날짜/시간의 차이를 계산하는 방법에 대해 알아보겠습니다. timedelta 날짜/시간의 차이를 계산하기 위해서는 datetime 모듈에서 timedelta 클래스를 사용하면 됩니다. timedelta 클래스는 날짜/시간을 계산하기 위한 클래스로 많이 사용됩니다. timedelta 사용 예제 예제를 통해서 timedelta의 사용법을 알아보겠습니다. timedelta는 년, 월을 제외한 주, 일, 시, 분, 초, 마이크로초, 밀리초로 계산이 가능하지만 너무 복잡하게 계산하면 제가 헷갈리므로 날짜 계산 예제만을 다루겠습니다. … Read more

[python] datetime 사용하여 날짜, 시간 출력하기

이번 글에서는 파이썬에서 날짜, 시간을 출력하는 방법에 대해 알아보겠습니다. 파이썬에서는 날짜, 시간을 다룰 수 있는 datetime 모듈을 제공합니다. datetime 모듈의 datetime 클래스는 이름에서 보이다시피 날짜와 시간 둘다 포함하는 클래스입니다.만약 날짜만 사용한다거나, 시간만 사용하는 경우엔 아래와 같이 date 또는 time 클래스를 사용하면 됩니다. 이 글에서는 datetime 클래스에 대해서만 알아보겠습니다. datetime 객체 얻기 아래와 같이 코딩해서 현재 날짜/시간이 담겨져 있는 datetime 객체를 얻습니다. 현재 날짜/시간 출력하기 얻어온 객체에서 아래와 … Read more

[python] sqlite3 사용하기

이번 글에서는 파이썬에서 sqlite3을 사용하는 방법에 대해 알아보겠습니다. sqlite3 sqlite3은 python에서 사용가능한 데이터베이스 라이브러리입니다. 확장자 .db를 가지는 파일이 생성됩니다.파이썬에서 sqlite3를 만들어 보기전에 아래 링크에 접속하여 DB Browser for SQLite 프로그램을 설치해줍니다.DB Browser for SQLite는 파이썬에서 만든 .db 파일을 확인할 때 사용됩니다. DB Browser for SQLite 링크 win64.msi 다운 Desktop 체크 DB Browser for SQLite 테이블 구조 아래 표는 sqlite3에서 … Read more

[python] 쓰레드(Thread)

이번 글에서는 파이썬에서 쓰레드를 사용하는 방법에 대해 간단히 알아보겠습니다. 쓰레드 개발을 하다보면 여러 개의 작업을 동시에 실행해야하는 경우가 자주 있습니다.이런 경우 파이썬에서는 threading 모듈을 제공해 줍니다. threading 모듈 파이썬에서 스레드를 생성하기 위해 threading 모듈을 사용합니다. 아래는 쓰레드로 1~9까지 출력하는 코드입니다. 파라미터 전달 쓰레드에 파라미터를 전달할 때는 Thread 객체를 생성할 때 args에 튜플로 파라미터를 전달하면 됩니다.아래는 예제 코드입니다. 10과 20이 전달되어 출력하는 것을 볼 수 있습니다. join 아래 코드의 실행 결과를 먼저 보겠습니다. 실행 결과를 보면 메인 쓰레드(=__main__)에서 서브 쓰레드(t)를 생성하였고, 서브 쓰레드는 서브 쓰레드대로 실행되다 종료되고 메인 … Read more

[python] 패키지(Package)

이번 글에서는 패키지에 대해 알아보겠습니다. 패키지는 모듈과 마찬가지로 기능별로 구별하기 위해 사용됩니다. 간략 설명 하나의 디렉토리에 놓여진 모듈들의 집할을 말합니다.패키지 하위에 모듈이 있으며 만들어놓은 모듈들을 모아놓은 디렉토리명이 패키지명이 됩니다.아래는 패키지와 모듈의 디렉토리 구조를 간략히 보여준 것입니다. \ 패키지 import 패키지를 import하려면 아래와 같이 사용이 가능합니다. 패키지 만들기 패키지를 만들어 보겠습니다. 따로 예시는 하지 않고 위에서 설명한 디렉토리 … Read more

[python] 모듈(module)

개발을 할 때 중복되는 코드를 작성한다면 관리가 힘들어지게 됩니다.파이썬에서는 이러한 경우에 모듈 또는 패키지로 만들면 사용과 관리가 용이해집니다.모듈과 패키지는 기능별로 나눈다는 점에선 공통된 역할을 하고, 모듈이 특정 작업과 관련된 내용을 담는다고 하면, 패키지는 여러 모듈을 한 폴더에 관리하는 것을 말합니다.이번 글에서는 모듈을 만들어보겠습니다. 간략 설명 모듈은 특정기능을 위해 만든 함수, 변수, 클래스를 .py파일 단위로 모아놓은 것을 말합니다.이때까지 만들어온 모든 .py는 모듈로 볼 수 있습니다. 모듈 참조 모듈을 import 하려면 아래와 같이 사용하며 됩니다. 예시 이전 클래스 예시인 자동차를 예시로 들어보겠습니다.자동차에는 엔진도 들어가고, 핸들, 라디오 등등 여러가지 모듈들이 들어갑니다.이와 비슷하게 개발할 때도 엔진, 핸들, 라디오 모듈을 샘플로 만들어 보겠습니다. engine.py, handle.py, radio.py를 만들고 아래와 같이 입력해 줍니다. Car.py를 만들고 아래와 같이 모듈들을 import 해줍니다. 그리고 import 아래 부분에 Car 클래스를 만들어 줍니다. 이제 실제로 Car 클래스에 대한 인스턴스를 만들어 사용해봅니다. 만약에 다른 유형의 자동차 클래스를 만들 때 만들어놓은 엔진, 핸들, 라디오 모듈은 import해서 사용하기만 하면 됩니다.