Python 57

Python 셀레니움

셀레니움 - 브라우저를 컨트롤할 수 있도록 지원하는 라이브러리이다.더보기!pip install selenium!pip install chromedriver_autoinstaller 셀레니움과 크롬드라이버 오토인스톨러를 설치해 준다.크롬드라이버 오토인스톨러는 셀레니움이 구글 크롬 브라우저를 제어할 수 있도록 도와주는 별도의 실행 파일이다. from selenium import webdriverfrom selenium.webdriver.common.keys import Keys#웹 드라이버 객체 생성driver = webdriver.Chrome()# 구글 홈페이지 열기driver.get("https://www.google.com")#검색창 요소 찾기search = driver.find_element("nam..

Python 크롤링

크롤링과 스크레이핑 - 크롤링(Crawling): 인터넷의 데이터를 활용하기 위해 정보들을 분석하고 활용할 수 있도록 수집하는 행위이다.- 스크레이핑(Scraping): 크롤링 + 데이터를 추출하고 가공하는 행위이다. 예제 1더보기import requestsfrom bs4 import BeautifulSoup requests로 http요청을 보내고 받는 데 사용하는 라이브러리를 import 하여 html을 가져오는 데 사용한다.BeautifulSoup은 웹페이지의 html을 파싱하고, 원하는 정보를 추출하기 위해서 사용한다. site = "https://basicenglishspeaking.com/daily-english-conversation-topics/"request = requests.get(si..

재귀 호출(recursive call)

재귀 호출- 함수 안에서 동일한 함수를 호출하는 형태이다- 여러 알고리즘, 고급 정렬 알고리즘 작성 시 사용한다' 재귀 호출의 규칙재귀 함수는 함수 안에서 자신을 호출해 반복 동작을 하는 함수로, 언제 반복을 탈출하는지의 대한 조건을 정해주는 것이 중요하다. 위를 보면 재귀 호출의 규칙으로 팩토리얼을 예로 작성한 것이다. 그것을 바탕으로 return이 되었을 때, 나오는 형식을 밑에 작성한 것이다. 재귀 호출 확인하기위 함수는 팩토리얼을 생성한 것인데, 이걸로 확인해 볼 것이다. 2!, 3!, 4! 세 가지를 확인해 보자.세 가지 모두 정확한 값을 출력했다. 2! 이면 반환값으로 2 * 함수(1)를 가져온다.3! 은 반환값으로 3 * 함수(2)를 가져오기에 3 * 2 * 1 = 6이 나오게 된다.4! 도..

Python 2024.04.01

나만의 디렉토리 관리 프로그램 만들기

이번에는 디렉토리 정리를 해보겠다. 이제까지 쌓여온 연도별 파일을 정리할 것이다. 이 파일들을 년도별로 나눠서 정리하려고 한다. 일단 필요한 모듈을 import 하면서 시작하자. 그냥 생각나는 건 다하면 될듯하다. 그리고 현재 경로가 어딘지 확인 후 정리할 파일의 경로를 변수에 담아준다. 경로를 설정해 줬으면 그 안에 압축파일이 있는지 찾아준다. 나는 19년도 파일이 압축되어 있었다. zipfileZipFile을 이용하여 압축을 풀어준다. 압축을 풀어서 19년도 파일이 생성됐다. 파일의 이름이 중복되거나 바꾸고 싶은게 있을 수 있다. 그래서 먼저 엑셀을 사용하여 파일의 이름을 변경할 것이다. 엑셀파일에 접근하기 위한 모듈을 import하고 시작하자. 엑셀파일을 만들어주고 그 안에 "파일경로", "파일명(..

Python/문제 2024.03.27

Python 파일 입출력 라이브러리

os- 파이썬의 os 모듈은 운영 체제와 상호 작용하는 많은 함수와 유틸리티를 제공한다. 이 모듈을 사용하면 파일이나 디렉토리 조작이 가능하고, 운영 체제의 관한 작업을 수행할 수 있다. os 모듈에서는 사용할 수 있는 다양한 함수들이 있다.getswd() : 현재 위치를 확인해 주는 함수. "os.getcwd()"chdir() : 현재 디렉토리의 경로를 다른 경로로 변경한다. listdir() : 디렉토리 안에 있는 파일을 확인할 때 사용. 디렉토리 안에 파일을 리스트로 변환한다.path() : 폴더명이나 파일명을 확인하고 파악할 수 있다. glob- glob 모듈은 파일과 폴더의 이름을 찾을 때 사용하는 모듈이다. 이 모듈의 이름은 "전역적으로 찾기"라는 의미의 "global"에서 유래했다. glob..

Python 2024.03.25

Python 타입 어노테이션

타입 어노테이션- 타입 어노테이션은 파이썬 3.5에서 도입된 기능으로 파이썬 코드에서 변수, 함수 인자, 반환 값의 기대되는 데이터 타입을 명시적으로 선언하는 방법이다. 타입 어노테이션은 코드의 가독성을 높이고, 정적 타입 검사 도구 (예:mypy)를 사용하여 타입 오류를 사전에 잡아내기 위한 목적으로 사용된다. 하지만 너무 많은 양의 타입 정보가 코드에 포함되면 가독성이 저하될 수 있다.기본 타입 어노테이션- 기본 타입 어노테이션은 int, str, float, bool이 있다.이미지를 보면 name은 문자열을 의미하고, age는 정수를 의미하고, float는 실수, bool은 불리언이라는 것을 의미한다. 이 처럼 변수의 타입을 명시해 준다.복잡한 어노테이션(list, tuple,dict, set)- ..

Python 2024.03.24

파일 입출력을 이용한 단어장 만들기

문제 먼저 프로그램을 실행했을 때, 기존에 단어장 파일이 있으면 파일의 데이터를 가져오고 없으면 스킵이지만 단어장을 스킵인 동작을 수행할 함수를 만들어줘야 한다. 예외 처리를 사용하여 파일이 있으면 그 파일을 읽어서 가져오고, 파일이 없으면 파일을 만들어준다. 그리고 우리가 1~5까지 입력을 받았을 때, 동작하는 함수를 만들어줘야 한다. 반복문을 사용하여 1 ~ 5까지 숫자 중 하나를 선택하면 해당 함수로 이동하여 작업을 수행하는 방식이다. 이때 1 ~ 5를 제외한 다른 숫자가 들어왔을 때, 잘못된 선택이라는 것을 알려주기 위해 예외처리를 사용하여 작성했다. 그럼 이제 숫자를 선택했을 때, 이동해 작업을 수행할 함수들을 만들어주면 된다. class를 만들어서 그 안에 함수들을 담을 것이다. 외부에 lis..

Python/문제 2024.03.24

Python 모듈(Module)과 파일 입출력

모듈화- 프로그램을 설계할 때 복잡한 프로그램일수록 하나의 파일로 구현하기는 쉽지 않다. 그래서 복잡한 프로그램을 설계할 때는 모듈을 이용한다. 메인 모듈 밑에 여러 개의 하위 모듈을 구성하는 식으로 작은 단위로 나누어 관리하고 개발한다. 모듈(Module)- 파이썬 모듈이란, 함수나 변수 클래스 등이 정의된 파이썬 파일로 만들기 위해서는 간단히 .py확장자를 가진 파일에 코드를 작성하면 된다. 모듈은 표준 모듈(파이썬에서 제공)과 사용자 모듈(개발자가 만든)로 나뉜다. 다른 스크립트에서 import 구문을 사용하여 가져올 수 있다.Colab에서 모듈 만들기- 모듈을 만들어보자. colab에서 사용자 모듈을 만들어 사용해보자.이런 모듈을 만들었다. 먼저 원하는 파일명을 작성하고(파일명을 작성할 때는 언더..

Python 2024.03.24

Python 예외처리

예외- 예외(Exception)는 프로그램 실행 중 발생할 수 있는 예상치 못한 문제 또는 오류 상황을 말한다. 오류가 발생하는 이유는 프로그램이 잘못 작동하는 것을 막기 위함이다.- 일반적인 오류는 어떤 숫자를 0으로 나누는 경우, 인덱스를 범위를 벗어나는 경우, 존재하지 않는 파일을 사용하려 시도하는 경 등 다양한 오류들이 있다.예외 처리 기본 구조예외 처리는 try, except, else, finally가 있다. 예외 발생 가능성이 있는 코드를 "try" 내부에 넣고 밑으로 "except 에러코드"를 넣어준다. try 내에서 에러가 발생하면 어떤 에러인지 보고 그 에러코드에 맞게 except로 이동하여 실행된다.여기서 else는 try 블록에서 에러가 발생하지 않았을 때 실행되고, finally는..

Python 2024.03.20

Python Special Method

Special Method- 스페셜 메서드(또는 매직 메서드)는 우리가 사용하는 len, str, int 같은 함수를 사용할 수 있게 해주는 object class 안에 속해있는 메서드이다. 형식은 __str__, __int__ 이런 식으로 앞 뒤로 언더바(_)가 두 개씩 들어가서 더던 메서드라고도 불린다.이런 스페셜 메서드는 특정 구문이나 내장 함수를 사용할 때 파이썬 인터프리터에 의해 자동으로 호출된다.스폐셜 메서드는 다양하지만 여기서는 몇 가지만 확인해 보겠다.__str__str 메서드를 Class안에 정의하지 않았을 때 str은 객체의 특성을 보여주는 것을 볼 수 있다.하지만 위처럼 str 메서드가 정의되었을 때, 자동으로 호출이 되고 문자열로 가지고 오는 것을 알 수 있다.혹시 몰라서 여기서 s..

Python 2024.03.20