inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

2024.08.28 수요일 기준 날씨 정보 가져오기 소스코드입니다 (참고하세요 : ) )

미해결

파이썬 무료 강의 (활용편3) - 웹 스크래핑 (5시간)

개인적으로 만든거다 보니, 부족한 면이 많습니다. 헷갈리시는 분들이나 조금 어렵다고 느껴지는 분들을 위해서 공유해드려요 ! import requests from bs4 import BeautifulSoup ''' [오늘의 날씨] 흐림, 어제보다 00도 높아요 현재 00도 (최저 00도 / 최고 00도) 오전 강수확률 00% / 오후 강수확률 00% 미세먼지 좋음 초미세먼지 좋음 ''' def scrape_weather(): print("[오늘의 날씨]") url = "https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=0&ie=utf8&query=%EB%82%A0%EC%94%A8" res = requests.get(url) res.raise_for_status() soup = BeautifulSoup(res.text, "lxml") cast = soup.find("p", class_="summary").get_text() curr_temp = soup.find("div", class_="temperature_text").get_text().replace("현재 온도", "") # 현재온도 targets = soup.find_all("li", class_="week_item today") min_temp = targets[0].find("span", class_="lowest").get_text() # 최저 온도 max_temp = targets[0].find("span", class_="highest").get_text() # 최고 온도 morning_and_afternoon = targets[0].find_all("span", class_="weather_left") morning_rain_rate = morning_and_afternoon[0].get_text() # 오전 강수확률 afternoon_rain_rate = morning_and_afternoon[1].get_text() # 오후 강수확률 dust_list = soup.find_all("li", class_="item_today") pm10 = dust_list[0].get_text() # 미세먼지 pm25 = dust_list[1].get_text() # 초미세먼지 # 출력 print(cast) print(f"현재 {curr_temp} ({min_temp} / {max_temp})") print(f"강수확률 {morning_rain_rate.strip()} / {afternoon_rain_rate.strip()}") print() print(f"{pm10.strip()}") print(f"{pm25.strip()}") print() if __name__ == "__main__": scrape_weather() # 오늘의 날씨 정보 가져오기

  • python
  • 웹-크롤링
  • selenium
  • 웹-스크래핑
이정완 댓글 1 좋아요 0 조회수 260

재귀와 완전탐색의 차이에 관한 질문이 있습니다!

해결됨

2주만에 통과하는 알고리즘 코딩테스트 (2024년)

문제를 풀때, 재귀함수를 사용하여 백트래킹 하는 방법이 있고 완전 탐색 for 문을 돌리는 방법 두가지가 있다고 했을때, 어느것을 사용하든지 관계 없나요? 본질적으로 모든 경우의 수 탐색하는 건 똑같은데 그 방법의 차이일 뿐인가요?? 만약 그렇다면 for 문으로 일일이 코딩하기 어려운 문제들을 재귀로 푼다고 생각하면 될까요?

  • python
  • 코딩-테스트
  • 알고리즘
차니 댓글 2 좋아요 1 조회수 276

24년, 부동산 퀴즈 코드입니다. 참고하세요!!

미해결

파이썬 무료 강의 (활용편3) - 웹 스크래핑 (5시간)

from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from webdriver_manager.chrome import ChromeDriverManager from bs4 import BeautifulSoup # Setup Chrome options options = webdriver.ChromeOptions() options.add_experimental_option("detach", True) options.add_argument("--user-agent=''") # Initialize the browser browser = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options) # 옵션 추가 - 웹페이지 최대화 browser.maximize_window() # 원하는 웹사이트로 이동 url = "https://realty.daum.net/home/apt/danjis/38487" browser.get(url) # 모든 요소가 로드될 때까지 대기 (최대 10초) WebDriverWait(browser, 10).until(EC.presence_of_all_elements_located((By.CLASS_NAME, "css-1dbjc4n"))) # 데이터 뽑기 시작 soup = BeautifulSoup(browser.page_source, "lxml") # 매물 정보 가져오기 targets = soup.find_all("div", class_="css-1dbjc4n r-1awozwy r-s4x47v r-18u37iz r-17s6mgv r-1m04atk") for idx, target in enumerate(targets): # 가격과 거래 방법 추출 price = target.find("div", class_="css-1563yu1 r-aw03qq r-1wbh5a2 r-1w6e6rj r-159m18f r-1b43r93 r-b88u0q r-rjixqe r-13hce6t r-1ff274t r-13wfysu r-q42fyq r-1ad0z5i") if price: plate = price.get_text().split(" ") use = plate[0] final_price = '' for index in range(1, len(plate)): final_price += plate[index] else: continue # 면적과 층수 정보 추출 area_and_floors = target.find_all("div", class_="css-1563yu1 r-1dnsj32 r-1wbh5a2 r-1w6e6rj r-159m18f r-n6v787 r-majxgm r-14yzgew r-fdjqy7 r-13wfysu r-q42fyq r-1ad0z5i") if len(area_and_floors) >= 2: area = area_and_floors[0].get_text() floor = area_and_floors[1].get_text()[-3:] else: area = "N/A" floor = "N/A" print("=" * 10 + " 매물 {0} ".format(idx) + "=" * 10) print(f"거래 : {use}") print(f"가격 : {final_price}".strip()) print(f"면적 : {area}".strip()) print(f"층 : {floor}".strip()) print() browser.quit()

  • python
  • 웹-크롤링
  • selenium
  • 웹-스크래핑
이정완 댓글 1 좋아요 0 조회수 204

git hub에 push할때 user-agent가 노출되도 상관이 없나요 ?

미해결

파이썬 무료 강의 (활용편3) - 웹 스크래핑 (5시간)

git hub에 저의 user-agent가 노출되어도 상관이 없을까요 ? git hub에 소스코드를 push하면서 진행을 하고 있는데 괜찮을까요 ?

  • python
  • 웹-크롤링
  • selenium
  • 웹-스크래핑
이정완 댓글 1 좋아요 0 조회수 206

사망 여부 영향 가능성

미해결

[리뉴얼] 처음하는 파이썬 머신러닝 부트캠프 (쉽게! 실제 캐글 문제 풀며 정리하기) [데이터분석/과학 Part2]

Survived 에서 뽑아냈을 때 수치가 높게 나오면 영향 가능성이 높다고 판단하면 되는건가요?

  • python
  • 머신러닝
  • pandas
  • kaggle
gjtjqkr1 댓글 1 좋아요 0 조회수 162

BOJ 10870 문제 질문드립니다.

해결됨

세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)

섹션 2의 재귀함수 이해하기 파트에서 풀이 1에서 n을 입력하는 것과 0,1의 값을 정해주는 것 그리고 for문의 형식까지는 이해했습니다. 하지만 arr = [-1] * (n + 2) 가 주석을 봐도 어떤 것을 의미하는지 잘 모르겠습니다

  • python
  • 코딩-테스트
  • 알고리즘
  • 재귀함수
내꿈은프로틴부자 댓글 1 좋아요 0 조회수 170

안녕하세요. 9장 질문입니다. 아래와 같은 에러가 발생했어요..

미해결

[개정판] 파이썬 머신러닝 완벽 가이드

소스코드: movies_df['genres_literal'] = movies_df['genres'].apply(lambda x : (' ').join(x)) count_vect = CountVectorizer(min_df=0, ngram_range=(1,2)) genre_mat = count_vect.fit_transform(movies_df['genres_literal']) print(genre_mat.shape) 에러 코드: InvalidParameterError Traceback (most recent call last) Cell In[99], line 10 8 count_vect = CountVectorizer(min_df=0, ngram_range=(1,2)) 9 # print(movies_df['genres_literal']) ---> 10 genre_mat = count_vect.fit_transform(movies_df['genres_literal']) File D:\dev03\anaconda\Lib\site-packages\sklearn\base.py:1467, in _fit_context.<locals>.decorator.<locals>.wrapper(estimator, *args, **kwargs) 1462 partial_fit_and_fitted = ( 1463 fit_method.__name__ == "partial_fit" and _is_fitted(estimator) 1464 ) 1466 if not global_skip_validation and not partial_fit_and_fitted: -> 1467 estimator._validate_params() 1469 with config_context( 1470 skip_parameter_validation=( 1471 prefer_skip_nested_validation or global_skip_validation 1472 ) 1473 ): 1474 return fit_method(estimator, *args, **kwargs) File D:\dev03\anaconda\Lib\site-packages\sklearn\base.py:666, in BaseEstimator._validate_params(self) 658 def _validate_params(self): 659 """Validate types and values of constructor parameters 660 661 The expected type and values must be defined in the `_parameter_constraints` (...) 664 accepted constraints. 665 """ --> 666 validate_parameter_constraints( 667 self._parameter_constraints, 668 self.get_params(deep=False), 669 caller_name=self.__class__.__name__, 670 ) File D:\dev03\anaconda\Lib\site-packages\sklearn\utils\_param_validation.py:95, in validate_parameter_constraints(parameter_constraints, params, caller_name) 89 else: 90 constraints_str = ( 91 f"{', '.join([str(c) for c in constraints[:-1]])} or" 92 f" {constraints[-1]}" 93 ) ---> 95 raise InvalidParameterError( 96 f"The {param_name!r} parameter of {caller_name} must be" 97 f" {constraints_str}. Got {param_val!r} instead." 98 ) InvalidParameterError: The 'min_df' parameter of CountVectorizer must be a float in the range [0.0, 1.0] or an int in the range [1, inf). Got 0 instea

  • python
  • 머신러닝
  • 통계
자스민 댓글 1 좋아요 0 조회수 166

동영상 버그

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

동영상 재생이 제대로 보이지 않고 버그 현상이 반복 됩니다 한번쯤은 점검이 있어야 될 것 같네요

  • python
  • java
  • c
  • 정보처리기사
hoogok 댓글 1 좋아요 0 조회수 109

trylock(1500)질문입니다

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

안녕하세요 강의 잘보고 있습니다. 강의 내용중 tryLock메서드 실습 부분에 서 tryLock에 인자로 500 밀리초를 넘겨 0.5초동안 락을 획득하지못하면 포기하는 것을 실습했습니다. 추가로 1500밀리초를 넘겨서 돌려봤는데 이때도 락을 얻지 못했습니다. 출금시간은 1초라서 락해제까지 완료가 된상태인데 왜 다음스레드가 락을 얻지 못할까여,, ㅠㅠ 19:00:56.252 [ Thread-1] 거래 시작: BankAccountV5 19:00:56.252 [ Thread-0] 거래 시작: BankAccountV5 19:00:56.254 [ Thread-1] [검증 시작] 출금액: 800, 잔액: 1000 19:00:56.254 [ Thread-1] [검증 완료] 출금액: 800, 잔액: 1000 19:00:56.752 [ main] t1 state: TIMED_WAITING 19:00:56.752 [ main] t2 state: TIMED_WAITING 19:00:57.258 [ Thread-1] [출금 완료] 출금액: 800, 잔액: 200 19:00:57.258 [ Thread-1] Thread-1 락 해제 19:00:57.258 [ Thread-1] 거래 종료 19:00:57.758 [ Thread-0] [진입 실패] 이미 처리중인 작업이 있습니다 if (!lock.tryLock(1500, TimeUnit.MILLISECONDS)) { log("[진입 실패] 이미 처리중인 작업이 있습니다") return false } lock.lock() //그냐 트라이랑 세트라 보삼 try { log("[검증 시작] 출금액: $amount, 잔액: $balance") if (amount > balance) { log("[검증 실패] 출금액: $amount, 잔액: $balance") return false } log("[검증 완료] 출금액: $amount, 잔액: $balance") Thread.sleep(1000) balance -= amount log("[출금 완료] 출금액: $amount, 잔액: $balance") } finally { log("${Thread.currentThread().name} 락 해제") lock.unlock() //언락 반드시 해야함 } 코드가 코틀린인점 죄송합니다.. 자바랑 같은라이브러리를 사용해서 혹시나해서 여쭤봅니다

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
준호 댓글 1 좋아요 0 조회수 263

세팅

미해결

[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)

안녕하세요. 강의 그대로 따라해도 세팅부터 막히는데 어떻게 하나요? 파일을 만들고 나서 셀에 입력하는 화면이 안나오는데요. 강의에서 python3으로 들어가면 강의에서는 셀을 입력할 수 있도록 나오는데 저는 python3이라는게 뜨지를 않습니다.

  • python
  • 웹-크롤링
고예진 댓글 1 좋아요 0 조회수 73

섹션5 <공지>

미해결

[개정판] 딥러닝 컴퓨터 비전 완벽 가이드

섹션5 <공지> 코드 https://github.com/chulminkw/DLCV <여기에 있나요?? 찾아도 없어서요.

  • python
  • 머신러닝
  • 딥러닝
  • keras
  • tensorflow
  • 컴퓨터-비전
WY Lee 댓글 1 좋아요 0 조회수 112

나만의 Azure OpenAI service (gpt-4o) 구성하기

해결됨

Azure Native로 나만의 GPT 만들기

조금씩이지만 열심히 따라서 구현을 해 보려고 하지만 모르는게 너무 많아 조금은 힘드네요 그래도 강의 내용이 스텝 바이 스텝으로 상세해 아주 큰 도움이 됩니다 저희 중요 업무는 고객 요구 사항들 (텍스트/ 이미지)이 기록되어 있는 문서를 참조로 현재 개발된 디자인이 모든 요구 사항들을 다 잘 지켜서 개발이 완료된 건지를 체크하는 일입니다 기존에 일일히 하나하나 체크를 하다 보니 시간도 너무 오래 걸리고 일부 경험 많은 엔지니어의 경우 기존 경험에 의존해 체크가 누락되는 경우도 발생이 되고 있습니다 이에 고객 요구 사항들을 AI (gpt-4o)에게 학습시키고 완료된 디자인 문서를 프로프팅 창에 입력해 자동으로 미지원 항목을 체크해 알려주는 기능을 만드는 것이 목표입니다 이를 위해 프롬프트 창에 디자인 문서 (텍스트/ 파워포인트/ PDF/ JPG 등) 멀티모달 프롬프팅이 되어야 디자이너 스스로 자기가 만든 디자인 파일의 셀프 체크가 가능하기에 gpt-4o를 선택해서 구현을 할려고 합니다 여기서 중요한건 비교를 해야 하는 고객 요구 사항을 어떻게 gpt-4o에게 학습시키는지에 대해 잘 몰라 난감해서 문의 드립니다 가장 효과적인 학습 방법에 대한 조언을 주실 수 있으실지요? 사내 전용 우리 회사만의 GPT라면 비교 자료도 나만의 자료가 되는게 필요해서 문의 드립니다 답변 부탁 드리겠습니다 감사합니다

  • javascript
  • python
  • mongodb
  • azure
  • FastAPI
tk.lee 댓글 2 좋아요 1 조회수 362

완전탐색 숫자야구 뭐가 틀린지 모르겠어요..

해결됨

2주만에 통과하는 알고리즘 코딩테스트 (2024년)

n = int(input()) hint = [list(map(int,input().split())) for _ in range(n)] answer = 0 #100 ~ 999 for a in range(1,10): # 100의 자리 for b in range(10): # 10의 자리 for c in range(10): # 1의 자리 if (a == b or b == c or c == a): continue cnt = 0 for arr in hint: number = list(map(int, str(arr[0]))) strike = arr[1] ball = arr[2] ball_count = 0 strike_count = 0 #스트라이크카운트 자리수,숫자 둘다 if number[0] == a: strike_count += 1 if number[1] == b: strike_count += 1 if number[2] == c: strike_count += 1 #볼카운트 자리수는 안맞고 숫자만 if a in number and number[0] != a: ball_count += 1 if b in number and number[1] != b: ball_count += 1 if c in number and number[2] != c: ball_count += 1 if ball == ball_count and strike == strike_count: cnt += 1 if cnt == n: answer += 1 print(answer)

  • python
  • 코딩-테스트
  • 알고리즘
댓글 2 좋아요 1 조회수 231

비공정 모드가 공정 모드가 빠른 이유

해결됨

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 비공정 모드가 공정 모드가 빠른 이유가 뭔지 자세히 궁금합니다. 비공정 모드에서도 어느 정도 대기큐가 있다고 하셨는데 그 걸 제외하고 공정 모드에서는 대기큐를 사용하면 어떤 스레드가 다음 락을 가져야할 지 알기 때문에 좀 더 빠르지 않나? 라는 생각이 들어서요.. 그리고 비공정 모드에서는 반대로 대기큐를 사용하지 않았기 때문에 공정 모드보다 락 얻기 위한 경합이 일어나서 좀 더 느릴 수 있는거 아닌가..? 싶어서 여쭤봅니다.. 시스템 상황에서 어떻게 비공정 모드가 공정 모드보다 빠른지 이해가 가지 않네요..ㅠㅠ

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
워니 댓글 1 좋아요 0 조회수 297

SyntaxWarning: invalid escape sequence '\.' 에러가

미해결

[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)

제가 뭘 건든건지 잘되던게 갑자기 SyntaxWarning: invalid escape sequence '\.' 에러가 출력됩니다. 셀레니움 css셀렉터에서 검색 카피해와서 붙였는데 그중에 \ 들어가면 에러를 내보네요.. 이유를 모르겠습니다.

  • python
  • 웹-크롤링
J Park 댓글 2 좋아요 1 조회수 2107

바탕쪽, 머리말, 꼬리말, 미주 장식, 두 줄이상의 빈 줄 삭제

해결됨

직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피

hwp 파일에서 바탕쪽, 머리말, 꼬리말, 미주 장식, 두 줄이상의 빈 줄을 자동으로 없애고자 강의를 수강합니다. 힌트를 얻고 싶습니다.

  • python
  • 한컴오피스
rosetteer 댓글 1 좋아요 1 조회수 956

240825현재 네이버쇼핑에서 "닭가슴살"검색후 a 태그를 못가져오네요

미해결

[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)

11.네이버 쇼핑 크롤링의 3편 데이터 추출하기(복작한 HTML)구조 편에서 # 나무태그 선택자 만들기 soup.select(".product_item__MDtDF")까지 하더라도 a 태그에 해당되는 부분을 가져오지 못합니다. 네이버 쇼핑에서 크롤링을 차단하는 것인지, 다른 방법으로 크롤링하는 방법은 없는건가요?

  • python
  • 웹-크롤링
BlueCloud 댓글 1 좋아요 1 조회수 134

실무에서 excutor service사용

해결됨

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

안녕하세요. 실무에서 시간이 오래소요되는 3개의 delete쿼리를 excutor service를 사용하여 멀티스레드형식으로 1개의 스레드가 1개의 쿼리를 수행하도록 구현해보고 싶습니다. 그런데 멀티스레드를 사용했을때 트랜잭션은 보통 어떻게 처리하시나요.. ? 저는 @transactional 을 선언해서 사용하고 있는데 이는 스레드1개당 트랙잭션이 생성되는거라 제가 의도한데로 롤백이 제대로 안될거라고 하더라구요.. 3개의 쿼리가 모두 성공했을때 커밋되고 그렇지않으면 롤백시키고싶은데 이부분에 대한 지식도 혹시 알수있을까요? 추가로 혹시 해당 질문 관련 강의를 개설해놓으신게 있다면 알려주시면 감사하겠습니다!

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
backendman 댓글 1 좋아요 1 조회수 251

EmailOperator 강습 중에 실행 오류 관련 문의 드립니다.

미해결

Airflow 마스터 클래스

강사님 *** !!!! Please make sure that all your Airflow components (e.g. schedulers, webservers, workers and triggerer) have the same 'secret_key' configured in 'webserver' section and time is synchronized on all your machines (for example with ntpd) See more at https://airflow.apache.org/docs/apache-airflow/stable/configurations-ref.html#secret-key *** Could not read served logs: 403 Client Error: FORBIDDEN for url: http://e1efbc97ae25:8793/log/dag_id=dags_email_operator/run_id=manual__2024-08-24T06:22:20.118495+00:00/task_id=send_email_task/attempt=1.log [2024-08-24, 06:22:25 UTC] {local_task_job_ runner.py:123 } ▶ Pre task execution logs [2024-08-24, 06:22:25 UTC] {warnings.py:112} WARNING - /home/***/.local/lib/python3.12/site-packages/***/utils/email.py:155: RemovedInAirflow3Warning: Fetching SMTP credentials from configuration variables will be deprecated in a future release. Please set credentials using a connection instead. send_mime_email(e_from=mail_from, e_to=recipients, mime_msg=msg, conn_id=conn_id, dryrun=dryrun) [2024-08-24, 06:27:49 UTC] {taskinstance.py:3301} ERROR - Task failed with exception Traceback (most recent call last): File "/home/airflow/.local/lib/python3.12/site-packages/airflow/models/taskinstance.py", line 767, in execute task result = execute callable(context=context, **execute_callable_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/airflow/.local/lib/python3.12/site-packages/airflow/models/taskinstance.py", line 733, in execute callable return ExecutionCallableRunner( ^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/airflow/.local/lib/python3.12/site-packages/airflow/utils/operator_helpers.py", line 252, in run return self.func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/airflow/.local/lib/python3.12/site-packages/airflow/models/baseoperator.py", line 406, in wrapper return func(self, args, *kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/airflow/.local/lib/python3.12/site-packages/airflow/operators/email.py", line 79, in execute send_email( File "/home/airflow/.local/lib/python3.12/site-packages/airflow/utils/email.py", line 80, in send_email return backend( ^^^^^^^^ File "/home/airflow/.local/lib/python3.12/site-packages/airflow/utils/email.py", line 155, in send_email_smtp send_mime_email(e_from=mail_from, e_to=recipients, mime_msg=msg, conn_id=conn_id, dryrun=dryrun) File "/home/airflow/.local/lib/python3.12/site-packages/airflow/utils/email.py", line 280, in send_mime_email smtp_conn.starttls() File "/usr/local/lib/python3.12/smtplib.py", line 779, in starttls self.sock = context.wrap_socket(self.sock, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/ssl.py", line 455, in wrap_socket return self.sslsocket_class._create( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/ssl.py", line 1042, in create self.do handshake() File "/usr/local/lib/python3.12/ssl.py", line 1320, in do_handshake self._sslobj.do_handshake() TimeoutError: _ssl.c:983: The handshake operation timed out 위 문구와 함께 현재 smtp.gmail.com 에 접속이 안되는데.. (worker에서도 접속이 안됨) 혹시 다른 설정이 필요할게 있을까요?

  • python
  • 데이터-엔지니어링
  • airflow
walnam777 댓글 3 좋아요 0 조회수 374

안녕하세요 표 생성이 막힙니다.

미해결

직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피

import win32com.client import os import shutil # 캐시 디렉토리 경로 cache_dir = os.path.join(os.getenv('LOCALAPPDATA'), 'Temp', 'gen_py') # 캐시 디렉토리 삭제 if os.path.exists(cache_dir): shutil.rmtree(cache_dir) # 캐시 재생성 및 한글 객체 생성 hwp = win32com.client.gencache.EnsureDispatch("hwpframe.hwpobject") hwp.XHwpWindows.Item(0).Visible = True hwp.RegisterModule("FilePathCheckDLL", "FilePathCheckerModule") # 문서 시작 위치로 커서 이동 hwp.MovePos(2) # 문서 시작으로 커서 이동 # 표 생성: 행(5), 열(3) act = hwp.CreateAction("TableCreate") pset = act.CreateSet() act.GetDefault(pset) pset.SetItem("Cols", 3) pset.SetItem("Rows", 5) act.Execute(pset) 이게 실행코드고 오류는 --------------------------------------------------------------------------- ModuleNotFoundError Traceback (most recent call last) File ~\AppData\Roaming\Python\Python312\site-packages\win32com\client\gencache.py:255, in GetModuleForCLSID(clsid) 254 try: --> 255 __import__(sub_mod_name) 256 except ImportError: ModuleNotFoundError: No module named 'win32com.gen_py.7D2B6F3C-1D95-4E0C-BF5A-5EE564186FBCx0x1x0.IDHwpAction' During handling of the above exception, another exception occurred: FileNotFoundError Traceback (most recent call last) Cell In[3], line 21 18 hwp.MovePos(2) # 문서 시작으로 커서 이동 20 # 표 생성: 행(5), 열(3) ---> 21 act = hwp.CreateAction("TableCreate") 22 pset = act.CreateSet() 23 act.GetDefault(pset) File ~\AppData\Local\Temp\gen_py\3.12\7D2B6F3C-1D95-4E0C-BF5A-5EE564186FBCx0x1x0\IHwpObject.py:106, in IHwpObject.CreateAction(self, actidstr) 103 ret = self._oleobj_.InvokeTypes(10031, LCID, 1, (9, 0), ((8, 1),),actidstr 104 ) 105 if ret is not None: --> 106 ret = Dispatch(ret, 'CreateAction', None) 107 return ret File ~\AppData\Roaming\Python\Python312\site-packages\win32com\client\__init__.py:119, in Dispatch(dispatch, userName, resultCLSID, typeinfo, UnicodeToString, clsctx) 117 assert UnicodeToString is None, "this is deprecated and will go away" 118 dispatch, userName = dynamic._GetGoodDispatchAndUserName(dispatch, userName, clsctx) --> 119 return __WrapDispatch(dispatch, userName, resultCLSID, typeinfo, clsctx=clsctx) File ~\AppData\Roaming\Python\Python312\site-packages\win32com\client\__init__.py:47, in __WrapDispatch(dispatch, userName, resultCLSID, typeinfo, UnicodeToString, clsctx, WrapperClass) 43 from . import gencache 45 # Attempt to load generated module support 46 # This may load the module, and make it available ---> 47 klass = gencache.GetClassForCLSID(resultCLSID) 48 if klass is not None: 49 return klass(dispatch) File ~\AppData\Roaming\Python\Python312\site-packages\win32com\client\gencache.py:200, in GetClassForCLSID(clsid) 198 if CLSIDToClass.HasClass(clsid): 199 return CLSIDToClass.GetClass(clsid) --> 200 mod = GetModuleForCLSID(clsid) 201 if mod is None: 202 return None File ~\AppData\Roaming\Python\Python312\site-packages\win32com\client\gencache.py:264, in GetModuleForCLSID(clsid) 261 info = demandGeneratedTypeLibraries[info] 262 from . import makepy --> 264 makepy.GenerateChildFromTypeLibSpec(sub_mod, info) 265 # Generate does an import... 266 mod = sys.modules[sub_mod_name] File ~\AppData\Roaming\Python\Python312\site-packages\win32com\client\makepy.py:377, in GenerateChildFromTypeLibSpec(child, typelibInfo, verboseLevel, progressInstance, bUnicodeToString) 374 progress.LogBeginGenerate(dir_path_name) 376 gen = genpy.Generator(typelib, info.dll, progress) --> 377 gen.generate_child(child, dir_path_name) 378 progress.SetDescription("Importing module") 379 importlib.invalidate_caches() File ~\AppData\Roaming\Python\Python312\site-packages\win32com\client\genpy.py:1363, in Generator.generate_child(self, child, dir) 1361 out_name = os.path.join(dir, an_item.python_name) + ".py" 1362 worked = False -> 1363 self.file = self.open_writer(out_name) 1364 try: 1365 if oleitem is not None: File ~\AppData\Roaming\Python\Python312\site-packages\win32com\client\genpy.py:1049, in Generator.open_writer(self, filename, encoding) 1039 def open_writer(self, filename, encoding="mbcs"): 1040 # A place to put code to open a file with the appropriate encoding. 1041 # Does *not* set self.file - just opens and returns a file. (...) 1046 # don't step on each others' toes. 1047 # Could be a classmethod one day... 1048 temp_filename = self.get_temp_filename(filename) -> 1049 return open(temp_filename, "wt", encoding=encoding) FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\lemon\\AppData\\Local\\Temp\\gen_py\\3.12\\7D2B6F3C-1D95-4E0C-BF5A-5EE564186FBCx0x1x0\\IDHwpAction.py.7700.temp' 이렇게 나오는데 해결할 수 있는 방법 있을까요?

  • python
  • 한컴오피스
한글치트키 댓글 1 좋아요 1 조회수 314

인기 태그

인프런 TOP Writers

주간 인기글