분류 전체보기
-
[Python] Django Boolean값으로 filter할 수 없는 문제programming 공부/Python 2021. 6. 24. 18:13
BooleanField로 값을 저장해두었는데 objects.filter(is_true = True) 처럼 필터를 해도 계속 에러가 발생했다. 방법이 잘못되었나 하고 여러가지 시도를 하느라 시간을 낭비했는데 알고보니 Django버전 문제였다. 3.1.x버전의 문제라고 한다. 3.0.1버전으로 다운그레이드 했더니 정상 작동한다. 아래 스택오버플로우 한곳을 찾기전에는 모두 그냥 filter(is_true=True) 로 하면 된다는 식의 글밖에 없어서 애먹었다. 참조: https://stackoverflow.com/questions/65190586/object-filter-error-using-boolean-fields
-
[Python] 프로세스 종료시 작업 추가하기programming 공부/Python 2021. 6. 20. 12:36
미처 예상하지 못한 에러가 나서 꺼진다거나 혹은 정상적으로 종료되었더라도 종료되는 시점에 무언가 작업을 하고 싶을 수 있다. 정상적으로 종료되는 경우에 코드의 마지막에 추가해도 되지만 어느 포인트에서 종료되더라도 실행되도록 하고 싶다면 atexit 모듈의 register 메서드를 쓰면 된다. import atexit def goodbye(): print("종료합니다") if __name__ == "__main__": atexit.register(goodbye) print("시작합니다.") 동일하게 decorator로도 쓸 수 있다. import atexit @atexit.register def goodbye(): print("종료합니다") if __name__ == "__main__": print("시작..
-
[Python] 파이썬 실행시 라이브러리 설치 자동으로 하기programming 공부/Python 2021. 6. 20. 12:08
사용한 라이브러리가 다른 컴퓨터에서 실행 시 설치되어 있다는 보장이 없을 수 있다. 그런 경우 subprocess.check_call 을 써서 설치를 하게 만들 수 있다. try: import requests except: import sys import subprocess check_call([sys.executable,'-m', 'pip', 'install', '--upgrade', 'requests'])
-
[Python] pyhive로 요청시 시간 초과되는 경우programming 공부/Python 2021. 6. 20. 12:00
회사에서 요청 시 시간제한을 걸어뒀는데, python으로 요청하는 경우에 간혹 시간 초과되는 경우가 발생되었다. 요청할 때 poll_interval 을 인수로 넣어주면 해결된다. query = "select * from tablename" cursor = presto.connect(host ="url",port=443,username="username",password="password",protocol='https',poll_interval=0.2).cursor() cursor.excute(query) data = cursor.fetchall() cursor.close()
-
-
[python] class instance의 변수로 정렬하기programming 공부/Python 2021. 5. 2. 15:52
게임 캐릭터를 만든다 생각하고 캐릭터를 만들어보자 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 class charactor(object): def __init__(self,id,name,hp,mp,power): self.id = id self.name = name self.hp = hp self.mp = mp self.power = power a = charactor(id=1, name='minho', hp=300, mp=300, power=10) b = charactor(id=2, name='bonggu', hp=300, mp=200, power=80) cs 캐릭터 두개중에 power가 높은순으로 정렬하고 싶다면 어떻게 해야할까? 정말 간단하게 해결할 수 있다 1 2..
-
파이썬으로 이차원 배열 정렬하기programming 공부/Python 2021. 4. 24. 18:15
나름 자주 쓸일이 있는데 자꾸 까먹어서 정리해둔다. 크게 두가지 방법을 쓸 수 있다. lambda 함수를 이용하는 방법 arr = [[1,2,3,4],[6,1,2,4,4,5,5],[6,23,52345,325,124,3246],[1,4,2,65,4,2,6]] arr.sort(key = lambda x: x[1]) operator 모듈의 itemgetter 를 쓰는 법 from operator import itemgetter arr = [[1,2,3,4],[6,1,2,4,4,5,5],[6,23,52345,325,124,3246],[1,4,2,65,4,2,6]] arr.sort(key = itemgetter(1))