본문 바로가기

Python78

[Python] for-else문과 try-except-else-finally문 설명과 예제 for-else 문for-else 문은 반복문이 정상적으로 (즉, break 문 없이) 종료되었을 때 else 블록을 실행하는 구조입니다.for 반복문이 break 문을 만나서 중단되면 else 블록은 실행되지 않습니다. 예제)numbers = [1, 2, 3, 4, 5]# 2로 나눠지는 숫자 찾기for number in numbers: if number % 2 == 0: print(f"{number}는 2로 나눠집니다.") breakelse: # for 문이 break 없이 끝났을 때 실행 print("2로 나눠지는 숫자가 없습니다.") try-except-else-finally try-except-else-finally 문은 예외 처리를 위해 사용되며, 각 블.. 2024. 5. 28.
[Python] configparser 모듈을 사용하여 설정 파일에서 정보를 읽는 방법, 사용자에게 정보를 입력 받아 설정 파일에 저장하고 읽는 방법 configparser 설정 파일에서 정보를 읽으려면? ― configparserini 파일은 프로그램 정보를 저장하는 텍스트 문서로 [섹션]과 그 섹션에 해당하는 키 = 값으로 구성된다.  configparser는 이러한 형식의 ini, txt 등의 파일을 처리할 때 사용하는 모듈이다. 예시) config.ini 파일[DEFAULT]ServerAliveInterval = 45Compression = yesCompressionLevel = 9ForwardX11 = yes[bitbucket.org]User = hg[topsecret.server.com]Port = 50022ForwardX11 = no 사용법)import configparserconfig = configparser.ConfigParser()config.read('.. 2024. 5. 28.
[Python] 두 개의 리스트를 딕셔너리로 변환하는 zip() 함수 설명 zip() 함수는 여러 개의 iterable(리스트, 튜플 등)을 병렬로 처리하기 위해 사용됩니다. 각 iterable의 동일한 인덱스에 있는 요소들을 튜플로 묶어서 반환합니다. 리스트의 길이가 다를 경우, 가장 짧은 리스트의 길이에 맞춰서 튜플을 생성하고, 나머지 요소는 무시됩니다.list1 = [1, 2, 3]list2 = ['a', 'b', 'c']# 두 리스트를 zip()으로 묶어서 dict()로 변환dict_list = dict(zip(list1, list2))print(dict_list) # {1: 'a', 2: 'b', 3: 'c'}   리스트의 길이가 다를 경우list1 = [1, 2, 3]list2 = ['a', 'b']# 두 리스트를 zip()으로 묶으면 짧은 리스트의 길이에 맞춤di.. 2024. 5. 28.
[Python] 문자열 처리를 위한 다양한 내장 함수들 설명과 예제 isdigit(), isalpha(), isalnum(), isspace(), islower(), isupper(), startswith(), endswith(), find(), replace(), strip(), lower(), upper(), capitalize(), title(), count() str.isdigit()설명: 문자열이 숫자로만 이루어져 있는지 확인합니다. 0-9까지의 숫자로만 이루어진 경우 True를 반환합니다.print("123".isdigit()) # Trueprint("123a".isdigit()) # Falsestr.isalpha()설명: 문자열이 알파벳 문자로만 이루어져 있는지 확인합니다. 대소문자 상관없이 알파벳만으로 이루어진 경우 True를 반환합니다.print("abc".isalpha()) # Trueprint("abc123".isalpha()) # Falsestr.isalnum()설명: 문자열이 알파벳 문자와 숫자로만 이루어져 있는지 확인합니다. 특수문자가 없는 경우 True를 반환합니다.print("abc123".isalnum()) # Trueprint(".. 2024. 5. 28.
[Python] 현재 시간 가져오는 방법 datetime, strftime(), now() 파이썬에서 현재 시간 가져오는 방법# import 할 모듈import datetime # now()는 datetime 객체를 반환하기 때문에 datetime 타입current_time = datetime.datetime.now()# strftime()는 datetime 객체를 지정한 형식의 문자열로 변환formatted_time = current_time.strftime("%Y-%m-%d %H:%M:%S") strftime("%Y-%m-%d %H:%M:%S") %Y: 연도를 나타내는 네 자리 숫자 (예: 2023)%m: 월을 나타내는 두 자리 숫자 (01부터 12까지)%d: 일을 나타내는 두 자리 숫자 (01부터 31까지)%H: 시간을 나타내는 두 자리 숫자 (00부터 23까지)%M: 분을 나타내는 두 .. 2024. 5. 28.
[Python] Paramiko 라이브러리 설명과 사용법 paramiko란?다른 컴퓨터에 원격으로 연결하는 Python 라이브러리 두 대의 컴퓨터를 안전하게 연결하기 위한 네트워크 프로토콜 클라이언트와 서버 기능 모두 제공, 파일 원격 전송 가능 디폴트 포트 22설치pip install paramiko사용법import paramiko# SSH 클라이언트 생성ssh = paramiko.SSHClient()# 호스트 키 확인 및 저장 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())# SSH 서버에 연결ssh.connect('도메인', port='포트번호', username='계정명', password='비밀번호')try : # 쿼리문 실행 query = f"select * from 테이블명 where 컬럼명.. 2024. 5. 28.
[Python] Selenium을 이용한 스크린샷 찍는 방법, 스크린샷(파일)에서 원하는 요소의 위치나 크기에 맞게 크롭하는 방법, 이미지를 보여주는 방법 save_screenshot(), PIL 스크린샷 찍는 법# 현재 html문서(DOM)의 총 높이와 너비로 브라우저 크기를 맞춤height = driver.execute_script('return document.documentElement.scrollHeight')width = driver.execute_script('return document.documentElement.scrollWidth')driver.set_window_size(width, height) time.sleep(2)# 지정 경로에 스크린샷 파일을 저장(.png 등으로 끝나야 함)driver.save_screenshot(경로)스크린샷(파일)에서 원하는 요소의 위치나 크기에 맞게 크롭하는 법# 관련 모듈 importtry: from PIL import Ima.. 2024. 5. 28.
[Python] Selenium 자바스크립트를 이용한 조작 방법 execute_script(), switch_to.window() 자바스크립트를 이용한 조작 방법들# 버튼 클릭driver.execute_script("document.getElementsByTagName('button')[0].click()")# ID=textInput인 요소인 value 작성driver.execute_script("document.querySelector('#textInput').value='~'")# 태그 체크하는 법driver.execute_script("document.getElementsByTagName('option')[2].selected=true")# 체크박스 체크하는 법driver.execute_script("document.getElementById('checkbox').checked=true")요소가 가려지거나 스크롤 등의 이유로.. 2024. 5. 28.
[Python] Selenium 설명, 사용 방법, 관련 모듈, 함수 등등 selenium(원하는 데이터가 동적인 데이터일 때 사용) 크롬드라이버를 제어하거나 원하는 정보를 얻기 위해 사용, 사람의 행동을 컴퓨터 대신함 설치-> pip install selenium관련 패키지# 관련 패키지from selenium import webdriverfrom seleniuhttp://m.webdriver.common.keys import Keysfrom seleniuhttp://m.webdriver.common.by import Byfrom seleniuhttp://m.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECfrom seleniuhttp:/.. 2024. 5. 28.
[Python] 셀레니움의 명시적 대기와 암시적 대기에 대해 implicitly_wait(), WebDriverWait() 암시적 대기와 명시적 대기는 모두 웹 페이지가 로딩되기를 기다리는 방법이지만, 사용되는 시기와 방식에 차이가 있다. 암시적 대기(implicitly_wait)from selenium import webdriver# 암시적 대기 설정 (최대 10초 대기)driver.implicitly_wait(10)암시적 대기는 페이지의 모든 요소가 로드되기를 기다립니다. 즉, 페이지를 로딩할 때마다 모든 요소가 나타날 때까지 기다립니다.driver.implicitly_wait(10)과 같이 선언하며, 여기서 10은 최대 대기 시간을 의미합니다. 예를 들어, 페이지가 모든 요소를 5초 내에 로드하면 대기가 종료됩니다.암시적 대기는 전역적으로 적용되며, 페이지의 모든 요소가 로드되는 동안 해당 시간을 기다립니다. 암시적 대.. 2024. 5. 27.