파이썬
파이썬 pipenv로 가상환경 관리하기
pip install pipenv # 설치 pipenv --rm # 가상환경 삭제 해당 패키지 이동 후 pipenv --python 3.11 # 가상환경 생성 pipenv --venv # 가상환경 만들어진 경로 pipenv --py # 가상환경 적용된 파이썬 경로 pipenv run python # pipenv 실행 pipenv shell # 가상환경 활성화 exit # 가상환경 비활성화 pipenv install 패키지명 # 가상환경 패키지 추가 [dev-packages] # 개발모드에서만 필요한 패키지 빌드시에는 추가되지 않는다. [[source]] url = "https://pypi.org/simple" verify_ssl = true name = "pypi" [packages] pandas = "..
파이썬 pyqt QTableWidget auto size
# 그리드 넓이 조절 # 헤더 크기만큼 for i in range(len(headers)): self.ui.result_table.horizontalHeader().setSectionResizeMode(i, QHeaderView.ResizeToContents) # 데이터 크기만큼 for i in range(len(data)): self.ui.resultTable.verticalHeader().setSectionResizeMode(i, QHeaderView.ResizeToContents) colum는 horizontalHeader() row는 verticalHeader() 를 이용
파이썬 sqlite row_factory로 fetchall() 리스트로 받기
id = 1,2,3 일 때, 기존 사용하던대로 사용하면 import sqlite3 conn = sqlite3.connect('my.db') cur = conn.cursor() ids = cur.execute('SELECT id FROM users').fetchall() [(1,), (2,), (3,)] 으로 리스트로 감싸진 튜플들이 나온다. import sqlite3 conn = sqlite3.connect('my.db') conn.row_factory = lambda cursor, row: row[0] c = conn.cursor() ids = c.execute('SELECT id FROM users').fetchall() row_factory를 사용하면 [1, 2, 3] 으로 나온다. row_fact..
파이썬 셀레니움 와이어 No such file or directory - seleniumwire\\ca.crt'
셀레니움과 다르고 셀레니움 와이어에는 인증서가 필요합니다. \site-packages\seleniumwire 에 ca.crt, ca.key 파일이 있습니다. 저는 pyinstaller 를 사용해서 exe파일로 변환하여 실행하기 위해 빌드할 프로젝트에 폴더를 하나 만들었습니다. selenium_ssl 이 폴더 안에 ca.crt, ca.key 파일 두개를 복사해서 넣어줍니다. main.spec 에서 datas에 해당 폴더 를 데이터로 추가해줍니다. a = Analysis(['main.py'], pathex=[], binaries=[], datas=[('./selenuim_ssl/*', './selenuim_ssl')] 그 후 pyinstaller 로 빌드하게 되면 해당 폴더가 빌드된 것을 알 수 있습니다. ..
파이썬 이메일 SMTP 사용 방법
import smtplib from email.message import EmailMessage # ssl 사용하는 도메인 ssl로 연결 # smtp 도메인, 포트 smtp_domain = smtplib.SMTP_SSL('smtp.domain', port) # smtp에 식별 smtp_domain.ehlo() # 계정 로그인 smtp_domain.login("아이디", "비밀번호") # 메세지 생성 msg = EmailMessage() # 제목 입력 msg['Subject'] = "제목" # 내용 입력 msg.set_content("내용") # 보내는 사람 msg['From'] = "보내는 이메일" # 받는 사람 msg['To'] = "받는 이메일" # 첨부 파일 file = '파일 경로' # 파일을 열..
파이썬 BeautifulSoup 사용해서 하위태그 지우기
html = requests.get(url) object = BeautifulSoup(html.text, "html.parser") name_object = object.find('h2', {'id': 'sit_title'}) # 아이템이름입니다.나는 보조입니다. print(name_object.text) # 아이템이름입니다.나는보조입니다. # span 태그에 있는 나는 보조입니다. 를 지우고 아이템이름입니다. 만 가져오고 싶을 경우 name_object.find('span').decompose() # span을 찾고 decompose() 메소드를 사용하면 해당 태그가 지워집니다. print(name_obejct.text) # 아이템이름입니다.
파이썬 정규 표현식 사용해서 태그 사이 문자를 지워보자
string = 'div 태그 안에만 지워보자' string = re.sub('(.|\n)*?'),'', string) print(string) # 출력 # div 태그 안에만 정규표현식!
파이썬 URL 인코딩해보기
from urllib.parse import urlsplit, quote 필요한 라이브러리를 받아옵니다. https://cokes.tistory.com/manage/newpost/코크는 개발자 이렇게 한글이나 공백이 있는 경우 인코딩을 해주어야합니다. def quote(string, safe='/', encoding=None, errors=None): if isinstance(string, str): if not string: return string if encoding is None: encoding = 'utf-8' if errors is None: errors = 'strict' string = string.encode(encoding, errors) else: if encoding is not ..