Dev/Python 7

LangChain 설치 관련

오류 ERROR: Could not build wheels for aiohttp, which is required to install pyproject.toml-based projects 현시점에 langchain 을 사용하려면 python 은 3.12 버전에서는 aiohttp 및 기타 모듈들의 의존성 문제로 langchain 이 설치되지 않는다. langchain 을 설치하려면 python 버전을 3.12 버전 미만으로 설치해야 한다. LangChain 설치 pip install langchain 참고 : https://github.com/langchain-ai/langchain/issues/11479 Unable to use Python 3.12 due to `aiohttp` and other dep..

Dev/Python 2023.10.10

파이썬 - PDF 파일 읽기

Python 으로 PDF 파일을 읽을 수 있게 도와주는 라이브러리 pdfplumber 를 사용했습니다. github 에서 Star 를 봤을때 충분히 사용할만하다고 판단이 되어서 사용합니다. import pdfplumber import os # 스크립트가 있는 루트 폴더 경로 ROOT_DIR = os.path.dirname(os.path.abspath(__file__)) # 루트폴더에 들어있는 test.pdf 읽기 with pdfplumber.open(ROOT_DIR + "/test.pdf") as pdf: for index in range(len(pdf.pages)): print(pdf.pages[index].extract_text()) 참고 : https://github.com/jsvine/pdfplu..

Dev/Python 2022.11.14

웹스크래핑 - Web Scraping

웹 스크래핑에서 사용할 라이브러리 - Selenium - webdriver - ChromDriveManager - By - Service - EC - json Selenium 은 웹 브라우저를 원하는 대로 제어하기 위한 라이브러리이다. 그리고 WebDriver 는 Selenium 을 사용하기 위해서 필요하다. 1. Selenium 을 사용하기 위한 드라이버 설정 작업 def set_driver(): chrome_options = webdriver.ChromeOptions() // 크롬 브라우저를 열지 않고 동작 하도록 chrome_options.headless = True driver = webdriver.Chrome(service=Service(ChromeDriverManager().install())..

Dev/Python 2022.10.02

파이썬 알고리즘 - 패턴문제

파이썬 알고리즘 Python 알고리즘 다른 문제- 숫자 배열 알고리즘 단어 패턴 문자열(패턴) 하나와 문자열의 배열 하나가 주어집니다. 패턴 문자열의 각각의 문자 하나는, 두번째 문자열 배열의 각각의 문자열 하나에 대응 될 수 있습니다. 해당 배열이 해당 패턴으로 표현 되는지 아닌지의 여부를 확인하는 함수를 만들어 보세요. 예를 들어서, aabb 와 ['abc', 'abc', 'fgh', 'fgh'] 가 주어졌을 경우에는 함수가 True를 반환해야 합니다. 이 경우에는 a가 abc에, b가 fgh에 대응되도록 하면 배열을 해당 패턴으로 표현 하는 것이 가능하기 때문이죠.반면, aabb 와 ['abc', 'fgh', 'abc', 'fgh'] 가 주어졌을 경우에는 함수가 False를 반환해야 합니다.모든 문..

Dev/Python 2017.07.17

파이썬 알고리즘 - 숫자 배열에 관한 문제

파이썬 알고리즘 문제 Python 알고리즘 다른 문제 - 단어패턴 문제 숫자 배열문제 숫자들의 배열이 주어집니다. 이 배열은 길이 n을 가지며, 1부터 n-1까지의 숫자로 이루어져있습니다. 모든 숫자가 배열에 단 한번씩만 나타납니다. 그런데, 딱 하나의 수가 배열에 두번 등장합니다. 이 중복되는 숫자를 찾아내어 보세요. 예를 들어서, [1, 5, 2, 4, 5, 6, 3] 를 살펴봅시다. 배열의 길이는 7이며, 따라서 1~6까지의 숫자들이 한번씩 등장합니다. 그런데 5만 한번 더 등장했네요.따라서 이 경우에는5를 찾아내면 됩니다. 코드는 아래 def findDuplicate(nums): nums.sort() for i in range(len(nums) - 1): if (nums[i] == nums[i +..

Dev/Python 2017.07.13