본문 바로가기
반응형

Development/Python34

python 으로 Azure blob storage 연결 Azure 의 Blob Storage 에 파일을 업로드 하고 목록을 조회하는 코드를 작성해자. 만약 Azure 의 설정관련 내용을 보고 싶다면 다음 글을 참고하면 된다.2024.07.12 - [Development/Cloud] - [Azure] Storage 생성 및 권한 연결import osfrom unittest import TestCasefrom azure.identity import DefaultAzureCredentialfrom azure.storage.blob import BlobServiceClientos.environ["AZURE_CLIENT_ID"] = ''os.environ["AZURE_TENANT_ID"] = ''os.environ["AZURE_CLIENT_SECRET"] = ''cl.. 2024. 7. 12.
poetry 사용시 패키지 추가 하기 파이썬 가상환경을 사용할 경우 poetry 를 사용할수 있다. poetry add 명령어를 이용해서 패키지를 추가 할수 있다. 추가된 패키지는 pyproject.toml 파일에 기록이 된다. 이 명령어를 사용하면 패키지가 프로젝트의 종속성으로 추가되고 프로젝트를 실행할 때 해당 패키지가 자동으로 설치된다.poetry run pip install프로젝트의 종속성으로 추가되지 않고 단순히 현재 활성화된 가상 환경에 패키지를 설치한다. 이 명령어는 프로젝트의 종속성으로 추가되지 않은 패키지를 설치할 때 사용한다. 2024. 7. 11.
파이썬 requests 의 multipart/form-data 활용 FastAPI 로 아래와 같이 코드를 작성 했다.@router.post( "/v1/file", name="Upload File",)def upload_file( name: Annotated[str, Form()], language: Annotated[str, Form()], file: Annotated[UploadFile, Form()]):그리고 이 API 를 호출 하기위해 Test 코드를 작성했는데 아래와 같이 작성을 했다.def test_file_upload(self): file: UploadFile = open("./테스트.txt", "rb") # curl 명령에 필요한 헤더 설정 headers = { "token": "XXXXXXXX", ".. 2024. 6. 27.
파이썬 문법 - 클래스 정의 (ABCMeta, object) ABCMetaPython에서 클래스를 정의할 때, metaclass=ABCMeta 옵션을 사용하면 해당 클래스를 추상 클래스(abstract class)로 만들 수 있다. 추상 클래스는 일반 클래스와 달리 인스턴스화 될 수 없고, 추상 메서드만을 가질 수 있다.추상 클래스는 ABCMeta라는 내장 클래스를 사용하여 구현된다. ABCMeta는 Python 표준 라이브러리의 abc 모듈에 포함되어 있으며, 추상 클래스 및 추상 메서드를 지원하기 위한 메터 클래스이다. from abc import ABCMeta, abstractmethodclass MyAbstractClass(metaclass=ABCMeta): @abstractmethod def my_abstract_method(self): .. 2024. 5. 30.
[Pycharm] Find in Files 검색시 venv 파일 제외 시키기 Pycharm 을 사용할때 가끔 Find in Files 로 검색을 했을때 venv 폴더 하위의 내용까지 검색이 되서 불편함이 있었다. 어떻게 하면 제외 시킬수 있을지 찾다가 방법을 찾았다.먼저 session 이란 키워드로 검색을 해봤다. 이 키워드는 많이 사용되는 키워드 이기 때문에 라이브러리 안에서도 많이 발견이 된다. 정작 내가 직접 작성한 코드에는 어떻게 되어있는지 찾기가 힘들다.우선 첫번째 방법으로 .venv 폴더를 선택한후 나오는 콘텍스트 메뉴에서 Mark Directory As 메뉴로 가서 .venv 를 exclude 해준다.그리고 나서 검색을 해보면 아래와 같이 내가 작성한 파일들에서만 검색이 된다.두번째 방법으로는 Settings > Project > Project Struc.. 2024. 4. 24.
[FastAPI] request body의 필수값 존재 여부에 따른 응답 FastAPI 와 Pydantic 을 이용해서 API 작성을 하면서 request body로 들어오는 값의 존재 유무에 따라서 어떻게 세팅 되는지 확인이 필요했다. from typing import Union from fastapi import FastAPI from pydantic import BaseModel app = FastAPI() class Item(BaseModel): name: str price: float is_offer: bool | None = True address: str = "seoul" address1: str | None = None @app.post("/items") def insert_item(item: Item): return item 아주 간단한 API 이다. name.. 2024. 3. 20.
맥(Mac)에서 아나콘다(Anaconda) 제거하기 1. 아나콘다 설치 경로 확인하기 ➜ ~ conda info active environment : None shell level : 0 user config file : /Users/sanghyunkim/.condarc populated config files : conda version : 23.3.1 conda-build version : 3.23.3 python version : 3.10.10.final.0 virtual packages : __archspec=1=x86_64 __osx=10.16=0 __unix=0=0 base environment : /usr/local/anaconda3 (writable) conda av data dir : /usr/local/anaconda3/etc/conda.. 2023. 8. 11.
머신러닝 관련 용어 지도학습 회귀(Regression) : 정답이 연속형 변수 분류(Classification) : 정답이 비연속형(범주형) 변수 비지도 학습 군집분석(Clustering) : 주어진 데이터가 어떻게 구성되어있는지. 강화학습(Reinforcement Learning) : 행동에 따른 보상을 최대화 시키는 방법 선형회귀(Linear Regression) 예측값을 직선으로 표현하는 모델 실제 값을 잘 예측하는것을 목표로 한다. Classification 과 Clustering 의 차이 Classification 은 새로운 데이터를 알고있는 레이블에 포함시키는것. 정해진 그룹의 데이터를 파악하여 특징을 찾아 새로운 데이터를 정해진 그룹에 포함시키는것. Clustering 은 데이터의 패턴을 찾아 그룹을 만들어 내.. 2023. 6. 12.
colab 에서 kaggle 설정 설치 !sudo pip install kaggle Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/ Collecting kaggle Downloading kaggle-1.5.13.tar.gz (63 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 63.3/63.3 kB 4.4 MB/s eta 0:00:00 Successfully built kaggle Installing collected packages: kaggle Successfully installed kaggle-1.5.13 kaggle api 받기 kaggle 로그인 > profile >.. 2023. 6. 7.
Pandas 사용 시리즈(Series) 데이터가 순차적으로 나열된 1차원 배열 형태 딕셔터리로 Series 생성시 -> key 는 시리즈의 인덱스와 대응된다. 리스트로 Series 생성시 -> 리스트의 인덱스가 시리즈의 인덱스로 대응된다. dict_data = {'a':1,'b':2,'c':3} series_data=pd.Series(dict_data) a 1 b 2 c 3 list_data = ['2022-10-11',3.14,'ABC',100,True] series_data1=pd.Series(list_data) 0 2022-10-11 1 3.14 2 ABC 3 100 4 True 데이터프레임(DataFrame) 행과 열로 만들어지는 2차원 배열 형태 열은 각각의 시리즈 객체이다. key 값이 열 이름이 된다. dic.. 2023. 5. 23.
NumPy 사용 NumPy 배열 차원(Dimension)을 축(axis)이라고 표현한다. 배열 속성값 shape : 배열의 각 축(axis)의 크기 ndim : 축의 개수(Dimension) dtype : 각 요소(Element)의 타입 itemsize : 각 요소(Element)의 타입의 bytes 크기 size : 전체 요소(Element)의 개수 배열 생성 np.array 이용 : 튜플이나 List 입력 print(np.array([2,3,4])) [2 3 4] np.zeros(shape) : 0 으로 구성된 N 차원 배열 생성 print(np.zeros((3,4))) [[0. 0. 0. 0.] [0. 0. 0. 0.] [0. 0. 0. 0.]] np.ones(shape) : 1로 구성된 N차원 배열 생성 prin.. 2023. 5. 9.
Conda python 버전 업데이트 현재 conda 를 사용한 python 가상 환경의 버전은 3.8.2 로 되어있다. 이것을 변경하기 위해서는 다음과 같은 절차를 거친다. 1. 설치 가능한 python 버전 확인 conda search python 위 명령어를 사용하면 설치 가능한 python 버전을 확인 할 수 있다. 2. python 설치 conda install python=버전 3. 가상환경 재접속 가상환경을 deactivate 하고 다시 activate 하면 파이썬 버전이 변경되어있다. 2023. 4. 15.
728x90
반응형