본문 바로가기
반응형

IT/python41

비동기 코드 작성하기(asyncio) asyncio 를 이용한 파이썬 비동기 코드 파이썬도 javascript ECMAScript2017 에서 쓰이는 async, await 사용으로 비동기 코딩이 가능하다! 비동기 함수 앞에 async 를 붙여주면되고, 해당 함수의 실행결과를 기다려야 할때 await 를 붙여주면 끝! 비동기 함수를 실행할때는 asyncio.run 을 이용하면 된다. import asyncio async def greetings(): print("Welcome") await asyncio.sleep(1) print("Good by") async def main(): await greetings() await greetings() asyncio.run(main()) 하지만 이렇게 하면 동기 프로그램 하고 똑같이 순차적으로 실행.. 2021. 8. 28.
데코레이션 모양만 봐서는 자바의 어노테이션을 생각나게 하지만, 실제 구현은 파이썬 답게 매우 쉽다. 함수를 인자로 받는 함수를 선언하고, 로직을 써둔 후 해당 함수를 데코레이션으로 다른 함수에 써주면 성공! # 함수선언 def to_upper_case(func): text = func() if not isinstance(text,str): raise TypeError("Not a string type") return text.upper() @to_upper_case def say(): return "welcome" 그리고 say 함수를 호출하면! >>> say WELCOME 쉬..쉽다! 실제 사용시에는, 함수 전,후 처리 및 인자를 위해 다음과 같이 선언하여 사용한다. def to_upper_case(func): .. 2021. 8. 23.
yield 를 이용한 대량파일 처리 대용량 파일을 처리할 때는 한줄씩 읽으면서 처리해야 한다. 그렇다고 파일오픈 하고 1라인 읽고, 닫고 파일 오픈하고 2라인으로 서치 후 2라인 읽고 닫고 ... 는 아니다. yield 를 이용해 큰파일을 1줄씩 읽어보자. def read_file(yours_file): while True: data = yours_file.readline() if not data: break yield data for line in read_file(open("massive.csv","r")): print(line) 추가 정보 https://dojang.io/mod/page/view.php?id=2412 파이썬 코딩 도장: 40.1 제너레이터와 yield 알아보기 Unit 40. 제너레이터 사용하기 제너레이터는 이터레이터.. 2021. 8. 21.
리스트 컴프리헨션(list comprehension) 요즘 머신러닝 공부하면서 자주보게 되었던, 대괄호 안에 있는 for 문. 기술의 용어도 모르다가 "클린 파이썬" 이라는 책에서 알게 되었다. 리스트를 다루는 방법으로 map, filter 를 쓰는방법이 있다. ( javascript 를 써본사람은 익숙 할듯 ) numbers = [ 10, 45, 34, 89, 34, 23, 6 ] square_numbers = map(lambda num: num**2, numbers) # 배열내 숫자의 제곱을 리턴 data = [1, "A", 0, False, True] filtered_data = filter(None, data) # 모든 참값에 필터를 사용 이것들을 리스트 컴프리헨션을 이용한 변경 버전 이다. square_numbers = [num**2 for num.. 2021. 8. 19.
파이썬 버전+패키지 관리 = pyenv 파이썬 패키지 관리를 위해 virtualenv 를 잘 이용하고 있었는데, 여러 파이썬 버전을 설치하고 관리하려면 추가적인 프로그램? 이 필요할 듯해서 찾아보니 pyenv 가 있었다. 1. 설치하기 ( Windows10 ) OS: Windows 10 Home 20H2 19042.928 Python: Python 3.7.9 64 bit cmd 라인에서 pip install pyenv-win --target %USERPROFILE%\.pyenv 그리고 윈도우 path 로 해당 bin 파일을 설정해 준다. PYENV C:\Users\사용자id\.pyenv\pyenv-win\bin PYENV_HOME C:\Users\사용자id\.pyenv\pyenv-win\ PYENV 는 Path 에 추가 설치 확인 cmd 에서.. 2021. 5. 15.
Python3.8 ( on CentOS7.9) 설치하기 mainia.tistory.com/5966 CentOS 파이썬(Python) 3.8 설치하는 방법 CentOS 파이썬(Python) 3.8 설치하는 방법 환경: CentOS 7 요즘 개발자들에게 핫 한 언어가 “파이썬” 입니다. 한번쯤 들어 보셨거나 관련 개발 업무를 진행하시는 분들이 많을 겁니다. 실무에서는 리 mainia.tistory.com 소스로 다운받아서 설치하는 과정! 마지막 python -> python3.8 연결은 다른 프로그램 호환성으로 쓰지 않고, virtualenv, virtualenvwrapper 를 설치해서 사용자들이 사용하게 함! # python 정상설치 확인 python3.8 -V # 가상환경 모듈 설치 pip3.8 install virtualenv virtualenvwrapp.. 2021. 5. 3.
윈도우10 TensorFlow2.4-gpu 설치하기 참조로 하여, 호환되는 툴킷 확인 참고로 나의 GPU 그리고 CPU AMD Ryzen 7 3700X 8-Core Processor 3.59 GHz ( AMD 라 살짝쿵 걱정 ) 1. CUDA 설치(10.1) developer.nvidia.com/cuda-10.1-download-archive-update2?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exelocal CUDA Toolkit 10.1 update2 Archive Select Target Platform Click on the green buttons that describe your target platform. Only supported platforms will .. 2020. 12. 24.
금융데이터제공 OpenAPI github.com/FinanceData/FinanceDataReader FinanceData/FinanceDataReader Financial data reader. Contribute to FinanceData/FinanceDataReader development by creating an account on GitHub. github.com 소스를 보니, 네이버 에서 크롤링 해오는 데이터로 보임! 2020. 11. 23.
pip 를 이용한 파이썬 모듈 설치 및 다운로드시 CERTIFICATE_VERIFY_FAILED 오류 해결 C:\Users\{사용자명}\AppData\Local\Programs\Python\Python36-32\Lib\site-packages\pip\_vendor\requests\sessions.py 해당파일을 열고, #: SSL Verification default. self.verify = False #True -> False 로 변경 그래도 안될 경우, download 시 실뢰할수 있는 사이트를 인자값으로 추가 pip --trusted-host pypi.org --trusted-host files.pythonhosted.org download 라이브러리명 2020. 5. 11.
반응형