본문 바로가기
반응형

IT/Python37

OSError: [Errno 8] Exec format error: '/Users/user/.wdm/drivers/chromedriver/mac64/130.0.6723.92/chromedriver-mac-x64/THIRD_PARTY_NOTICES.chromedriver' Python 에서 selenium 을 사용하면서 크롤링을 하던 중어제까지 잘 되던 코드가 갑자기 아래와 같은 에러를 내면서 돌아가지 않았다. OSError: [Errno 8] Exec format error: '/Users/sungjun/.wdm/drivers/chromedriver/mac64/130.0.6723.92/chromedriver-mac-x64/THIRD_PARTY_NOTICES.chromedriver' 구글을 찾아보니1. 경로에 chromedriver 이름을 바꿔라2. chromedriver 를 다시 설치해라등 다양한 조언이 있었지만모두 해도 마찬가지였다. 그러다가 발견하였는데 webdriver-manager 를 upgrade 해주는 것이다. pip install --upgrade webdr.. 2024. 11. 9.
Selenium 에서 Alert 창 컨트롤 하기 이전 포스팅에서 selenium 에 대해서는 다룬 글이 있다.정확히는 크롤링에 대해서인데 자세한 내용은 아래 참고 포스팅 참고 바란다. 크롤링을 하다가 버튼을 클릭해야할 경우가 있어서btn.click() 이런식으로 객체를 클릭하게 만들었다. 그러니 Alert 창이 뜨면서 정말 클릭하시겠습니까? 라는 문구가 떴다. 여기서 커서를 Alert로 옮기려면 아래와 같이 코드를 추가하면 된다. # Alert 창으로 전환alert = driver.switch_to.alert# 확인 버튼을 누르기alert.accept()# 취소 버튼을 누르기#alert.dismiss()# Alert 창의 텍스트 가져오기 alert_text = alert.text print(alert_text)참고 포스팅https://thenicesj.. 2024. 9. 14.
FastAPI 란? (예제 코드 포함) (with. uvicorn) fastAPI란?Ptyhon 3.6부터 제공되는 트랜디하고 높은 성능을 가진 Python FrameWork 공식 홈페이지는 아래와 같다.https://fastapi.tiangolo.com/ko/ FastAPIFastAPI framework, high performance, easy to learn, fast to code, ready for productionfastapi.tiangolo.com홈페이지에서 설명하는 특징은 아래와같다.빠름: (Starlette과 Pydantic 덕분에) NodeJS 및 Go와 대등할 정도로 매우 높은 성능. 사용 가능한 가장 빠른 파이썬 프레임워크 중 하나.빠른 코드 작성: 약 200%에서 300%까지 기능 개발 속도 증가. *적은 버그: 사람(개발자)에 의한 에러 약 4.. 2024. 6. 30.
Python 에서의 _(underbar/언더바) 의 역할 파이선에서 _ (이하 언더바) 의 역할은 다양하게 사용 된다. 먼저 언더바의 역할을 아래 리스트로 나열하면인터프리터에서의 마지막 값무시하는 값숫자 리터럴의 자릿수를 구분하는 역할네이밍이다. 인터프리터에서의 마지막 값​인터프리터 내에서의 마지막 값을 의미한다.>>> 1+12>>> _ + 132번째 명령줄의 언더바가 바로 윗줄의 2를 의미한다. 무시하는 값n_tuple = (1, 2, 3, 4, 5)a, b, c, _, e = n_tuple  # 4는 무시하고 1,2,3,5만 언패킹print(a, b, c, e)출력 결과## 1 2 3 5 숫자 리터럴의 자릿수를 구분하는 역할number = 100_000_000number_2 = 0x_5f_5e_100print(number, number_2)출력 결과##10.. 2024. 5. 15.
[Error] zipfile.BadZipFile: File is not a zip file - drm 피하기 / xlwings Python 에서 특정 파일을 읽으려고 했는데 아래와 같은 에러가 발생했다. zipfile.BadZipFile: File is not a zip file 내용은 zip file 에러인듯 하다. 말그대로 zip 파일을 열지 못하는데 확인해보니 파일이 DRM이 걸려있어서 특정 프로그램으로 읽지 않는 이상 파일을 읽을수가 없었다.DRM에 대해서는 아래 참고 포스팅 참고 바란다. 해결법은 Python 에서 openpyxl 를 사용해서 excel 파일을 읽었는데 이러면 못열고xlwings 를 사용해서 파일을 읽어줬다. xlwings 이란?openpyxl, xlsxwriter와 xlwings 차이?openpyxl xlsxwriter 는 Excel File의 포맷을 지원해주는 라이브러리.https://www.xlwi.. 2024. 4. 29.
SyntaxError: Non-UTF-8 code starting with '\xbf' in file 파이선에서 다음과 같은 에러가 발생했다.SyntaxError: Non-UTF-8 code starting with '\xbf' in file UTF-8 이라는 단어가 있어서 단번에 인코딩 문제구나 라고 짐작할수 있다. 해결방법은 인코딩을 변경해주면 된다. 방법 1소스 코드 맨 위에 이 코드를 삽입한다.-- coding: utf-8 --한글 인코딩 문제로 발생하는 것으로 utf-8로 인코딩한다. 방법 2필자는 vscode를 사용해서 python 작업을 하는데 오른쪽 하단에 인코딩 설정해주는 부분이 있다.그 부분을 utf-8로 설정하면 된다.참고 포스팅https://thenicesj.tistory.com/162 인코딩이란?(ascii, unicode, utf-8)개발자들은 개발을 하다보면 한글 출력부분에 있.. 2024. 4. 25.
python 에서 try 문 사용 이전에 자바에서 try 사용에 대한 포스팅을 작성한 적이 있다. 자세한 내용은 참고 포스팅 참고 바란다. 이번 포스팅에서는 python 에서 try 문 사용에 대해서 다뤄보려고 한다. 파이선에서의 기본문법은 try - except 이다. 사용법은 아래와 같다. try: #코드 작성 except Exception as e: # 코드 작성 finally: # 코드 작성 일단 기본 문법은 이렇다. 주의점은 파이선은 특히 문법에 민감한 언어이다 보니 들여쓰기에 대해 민감하다. 꼭 try 절에 들어가는 코드는 한번 들여쓰기로 작성해야한다. 특정 exception 을 지정하고 싶다면 try: #코드 작성 except NoAlertPresentException: # 코드 작성 여러 exception 일 경우를 넣고 .. 2023. 7. 25.
matplotlib.pyplot 사용법 파이선을 사용하면서 그래프 그리는 용도로 많이 사용되는 matplotlib.pyplot 에 대해서 소개할 것이다. 먼저 matplotlib의 공식 홈페이지는 아래와 같다. https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.plot.html 다양한 하위 기능들이 많지만 pyplot 에 대해서 다뤄볼 것이다. 먼저 기본 그래프를 그려보도록 한다. 테스트는 이전에 포스팅했던 colab에서 진행할 것이다. 먼저 사용을 위해서는 import 를 수행한다. import matplotlib.pyplot as plt 다음은 기본적으로 y= x *2 의 그래프를 그려볼 것이다. x = np.arange(1,10) y = x*2 plt.plot(x,y) plt.sh.. 2023. 7. 19.
파이선에서 날짜 문자열 추출 "오늘의 날짜는 2023-06-11 이고 날씨는 비오고 흐림" 이라는 문자열을 가져왔을때 날짜만 파싱하고 날씨만 파싱해서 데이터로 저장을 하려고 할 경우에 방법이 뭐가 있을까 고민을 해본다면. 아마 가장 합리적인 결론은 정규표현식이지 않을까 싶다. 정규 표현식에 대한 내용은 아래 참고 포스팅을 참고 바란다. 다시 위에 대한 정리를 이어서 한다면 다음과 같다. 날짜가 고정 된 형식으로 제공되는 경우 정규식을 사용하여 날짜를 추출하고 "datetime.datetime.strptime"을 사용하여 날짜를 구문 분석 할 수 있다. import re from datetime import datetime match = re.search(r'\d{4}-\d{2}-\d{2}', text) date = datetime... 2023. 6. 13.
반응형