Python

    Python 공유변수 import 할때 주의할점

    Python 공유변수 import 할때 주의할점

    필자의 경우 global_vars.py라는 파일이름으로 공유변수를 몰아놓고 사용하는데 공유변수를 따로 빼놓음으로써 함수에 전달되는 파라미터 수를 줄이고, 모듈간에 순환참조를 예방할수 있다는 이점을 가져갈수 있다. 공유변수 import '~' 방식 a.py와 b.py에서 모두 쓰는 공유변수를 c.py에 몰아넣는다고 해보자 a.py a = 10 a_dict = {'a': 10} a_list = [1, 2, 3] class __a_class: a = 10 a_class = __a_class() b.py import a def b(): return a.a def b_dict(): return a.a_dict def b_list(): return a.a_list def b_class(): return a.a_cl..

    파이썬 프로젝트 추천! 아스키 아트(ASCII ART) 프로젝트

    파이썬 프로젝트 추천! 아스키 아트(ASCII ART) 프로젝트

    파이썬 프로젝트 추천! 아스키 아트(ASCII ART) 프로젝트 계기 새벽에 삘받아서 만들어본 아스키 아트! 이 영상을 보고 파이썬으로 유튜브 영상을 받아서 아스키 아트를 해보면 어떨까 만들어봤다 영상을 보면 일일히 노가다해서 도트를 찍은거 같다(퀼리티도 좋고) 소스코드를 보면 도트 찍은 파일들을 읽어들여와서 출력하고 있는것을 확인 할 수 있다 아래에서 결과 소스코드를 다운받아 실행 해볼 수 있다 GitHub - ghdic/pythonVideoToASCII: convert video frame to ascii from youtube videos convert video frame to ascii from youtube videos. Contribute to ghdic/pythonVideoToASCII d..

    python 주식 퀀트&백테스팅 관련 라이브러리 정리

    python 주식 퀀트&백테스팅 관련 라이브러리 정리

    Zipline GitHub - quantopian/zipline: Zipline, a Pythonic Algorithmic Trading Library Zipline, a Pythonic Algorithmic Trading Library. Contribute to quantopian/zipline development by creating an account on GitHub. github.com 가장 널리 알려진 백테스팅 라이브러리로 퀸토피언 커뮤니티층이 탄탄하고 두터워 매우 활동적이라는 매력이 있었다. 하지만 2017년 로컬 데스크톱에서 개발할 때 Zipline에서 자동매매 연계 기능이 사라짐과 동시에 한물갔다. 업데이트도 2020년 이후로 이뤄지지 않고 있다. 따라서 파이썬 2.7, 3.5, 3.6..

    python 무료 vpn을 통해 ip 바꾸기

    python 무료 vpn을 통해 ip 바꾸기

    크롤링을 한다거나, 한국 ip 차단 된 사이트를 접속하는 등 vpn이 필요한 경우가 종종있다. 프로그램을 짜면서 ip를 바꿔야만 하는일이 그렇게 많을거 같진 않지만 뭐.. 기록용으로 남겨둔다 코드 출처는 여기 VPNGate Python script VPNGate Python script. GitHub Gist: instantly share code, notes, and snippets. gist.github.com 실행해보고 ip가 바뀌었는지 확인은 요기서 해보면 된다 아이피 확인 - my ip address IP 주소를 확인하는 가장 쉽고 빠른 방법 이 사이트(findip.kr)에 접속하는 것이 IP주소를 확인하는 가장 쉽고 빠른 방법이다. 210.220.70.4 가 현재 접속한 기기의 공인 IP(In..

    python pandas 중복된 데이터를 가진 행을 하나로 줄이기 reduce

    python pandas 중복된 데이터를 가진 행을 하나로 줄이기 reduce

    만약 엑셀에서 중복된 데이터를 가진 여러 행이 있을때 그것을 key기준으로 하나의 행으로 줄이고 싶다면 어떻게 해야 할까? ex) 회사에서 pdf공시파일과 엑셀에 있는 데이터를 비교해보고 맞는지 확인해보라고 합니다 데이터는 아래와 같이 되어있는데 같은 key를 가지고 있고 같은 값을 갖고있는 데이터인걸 확인했습니다 이 데이터에 행이 너무나 많아서 key가 1인것을 비교할때 눈으로 4번비교를 해야합니다 이 여러행을 1줄로 줄이려면 어떻게해야할까요? 전략1 중복된 데이터는 하나로 표시하고, 중복이 아닌 데이터는 리스트 형태로 저장한다 import pandas as pd def all_same(items): target = items.iloc[0] for i in items: if target != i: re..

    Python 이미지파일(jpg) pdf로 바꾸기

    Python 이미지파일(jpg) pdf로 바꾸기

    img2pdf활용 패키지 설치 pip install img2pdf 먼저 img2pdf라는 라이브러리를 받아주자 소스코드 # jpg to pdf with img2pdf import os from img2pdf import convert realpath = r"D:/github/marinelifeirony/Python/Pillow/images" absolutepath = r"images" with open("out.pdf", "wb") as f: image_list = [] for file in os.listdir(realpath): if file.endswith(".jpg"): image_list.append(realpath + '/' + file) print(image_list) pdf = convert..

    파이썬 유튜브 영상 정보 다운로드하기 pytube

    파이썬 유튜브 영상 정보 다운로드하기 pytube

    pytube 예제는 docs기반으로 작성하였습니다. pytube — pytube 12.1.0 documentation © Copyright Revision 2e307d8d. pytube.io 설치 pip install pytube 유튜브 영상 정보 가져오기 # 유튜브 영상정보 가져오기 from pytube import YouTube url = 'https://youtu.be/TtDeUBKpa6c' yt = YouTube(url) print("제목 : ", yt.title) print("길이 : ", yt.length) print("게시자 : ", yt.author) print("게시날짜 : ", yt.publish_date) print("조회수 : ", yt.views) print("키워드 : ", yt..

    Python smtpllib를 이용한 이메일 보내기

    Python smtpllib를 이용한 이메일 보내기

    파이썬의 smtplib라는 라이브러리를 통해 이메일을 보내는 프로그램을 짤 수 있는데요. 제가 쓰는 파이썬 3.9버전 기준으로 따로 라이브러리를 설치하지 않고도 작동되는걸 보아하니 기본 라이브러리에 포함되어 있는것 같습니다. SMTP란? 먼저 SMTP라는 개념을 알아봐야 할텐데요. SMTP는 Simple Mail Transfer Protocol의 약자로 이메일 전송에 직접적으로 쓰이는 응용 계층의 프로토콜 입니다. 메일을 보낼때 쓰이는 프로토콜이라고 기억해주면 될것 같습니다. 메일 서버에서 메일을 가져올 때는 SMTP를 사용하지 않고 보통 아래와 같은 프로토콜을 이용합니다. Post Office Procotol Version 3(POP3): TCP/IP기반으로 메일을 정보를 가져옴니다. 사용자 기기로 이..

    파이썬 regex 정규표현식으로 match된 부분 while문으로 하나씩 변경하기

    파이썬 regex 정규표현식으로 match된 부분 while문으로 하나씩 변경하기

    목표는 폴더구조를 변경함에 따라 데이터베이스에 있는 /image를 지우는 것이다. 먼저 "/image" -> ""로 replace할 경우 우 파일 이름에 image가 포함 되어 있는 경우 거기까지 바뀔수 있으니 "/image/ -> "/"으로 바뀌게 짰다. item = ' ' pattern = re.compile('src="(static/image/[^"]*)"') m = pattern.search(item) while m != None: print(m.group(1) + " to " + m.group(1).replace("/image/", "/")) item = item[:m.start()] + m.group(0).replace("/image/", "/") + item[m.end():] m = patt..

    pymysql 특수문자 이모티콘 에러 발생 해결법

    create table test( id int NOT NULL AUTO_INCREMENT PRIMARY KEY, title text ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; SyntaxError: Non-UTF-8 code starting with '\xed' in file 이라는 에러가 났다 🎤 이 특수문자를 넣는것에서 에러가 났는데 mysql에서 기본 utf-8형태는 3바이트 자료형이기 때문에 저러한 특수문자는 지원하지 않는다. 따라서 4바이트 자료형으로 바꾸어 줘야한다. ALTER DATABASE [DB명] CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci; ALTER TABLE [테이블명] CONVER..