python 49

지능형 리스트, list comprehension

#지능형 리스트 사용 예 1 symbols_1 = 'ajjsㅁㄴ모닝ㄹ' test_list_1 = [ord(s) for s in symbols_1] print(test_list_1) # [97, 106, 106, 115, 12609, 12596, 47784, 45789, 12601] #지능형 리스트 사용 예 2 symbols_2 = 'hajㅁㄴ얼13142asdf' test_list_2 = [ord(s) for s in symbols_2 if ord(s) > 127] print(test_list_2) # [12609, 12596, 50620] test_list_3 = list(filter(lambda k: k > 127, map(ord, symbols_2))) print(test_list_3) # [1260..

python dynamic import

한 프로젝트의 서비스 내부에 여러개의 모듈이 존재할때 가내수공업을 피하는 방법 #flask_test_project 안의 test 폴더 안의 module들이 여러개 존재하고, #각 모듈별로 메서드들이 있을때 동적 임포팅 하는 방법 #동적인 모듈을 생성해준다 def make_modules(module_name): # 모듈 이름 별로 dynamic import 해준다 command_module = __import__("프로젝트이름.모듈폴더.%s" % module_name, fromlist=["프로젝트이름.모듈폴더.%s"]) # 모듈을 리턴해준다 return command_module def get_modules(module_name): #모듈을 리턴 받는다 command_module = make_modules..

flask centos 에서 실행하기

로컬에서는 __init__.py안에 if __name__ == "__main__": app.run(host="0.0.0.0", debug=True, port = 18989) 이렇게 넣고 실행했었는데 ..centos 안에서는 테스트용으로 실행시킬때python __init__.py로 실행이 안됨 이유 머름 __init__.py 안에 관련 내용 주석처리 하고 wsgi.py 안에 추가하니 실행이 된다이유 좀 알았으면.. from testProject import app if __name__ == "__main__": app.run(host="0.0.0.0", debug=True, port = 18989)

virtualenv

virtualenv정확하게 뭔지 모르지만 일할떄 기준으로.. 1번 프로젝트는 flask2번 프로젝트는 django3번 프로젝트는 sanic 그리고 각자 여러가지 모듈들을 임포트해서 사용하게 된다 이때 같은 가상환경을 사용하다보면...1번 프로젝트는 python이 3.4이고 2번 프로젝트는 3.6이라면 뭔가 에러가 날 수 있음 ㅠ...뭔가 인터프리터 에러가 나면서 가상환경이 하나 날아간다면 ........?하나의 가상환경이 날아가지만 3개다 실행이 안되면서 모듈을 수동으로 다 설치하게 되는 우울한 사태가 벌어질 수 있다 때문에 하나의 프로젝트당 하나의 가상환경을 사용하는것이 오류 핸들링 기타등등 차원에서 훨씬 편리하다 아니면 리눅스에서 뭔가 작업중이라면?.....내가 뭔가 작업하다가 싹 날려먹었다면(경험담..

python - slack 채널 연동하기

python 소스상의 json slack 채널로 보내주는 방법 1) 슬랙 채널 생성(비공개, 공개 상관없음)슬랙 token 확인(https://api.slack.com/custom-integrations/legacy-tokens) 2) slacker 임포트import slacker import Slackertoken = '사이트상에서 복사한 슬랙 토큰' 3) 데이터 정리slack_message = {"a": "쓰고싶은말", "b": "쓰고싶은말"} 4) 전달slack.chat.post_message('#생성한 채널 이름', json.dumps(slack_message)) ('#생성한채널이름', 'message1', 'message2') ->이런식으로 보내면 message1만 출력된다json 하나로 묶어서..

1) 프로젝트 생성 및 연결

인터넷 튜토리얼 보고 따라하다가 에러만 나서 헤메다가 내가 보기위해서 정리한 장고 시작하기 개발툴 : 파이참, 커맨드, 터미널DB : MySQL파이썬 버젼 : 최신(3.대), 아나콘다장고 버젼 : 최신(2.대) 모든 소스 관련 된 것은 파이참에서 이루어집니다.다만 장고는 파이참 CE에서 run이 불가능하므로 프로젝트 생성 및 run은 터미널(혹은 커맨드)에서 이루어집니다. 1. 프로젝트 생성터미널(커맨드)에서 원하는 공간으로 이동공간에서 명령어 입력django-admin startproject 메인프로젝트이름이때 메인프로젝트의 폴더를 별도로 생성하지 않아도 자동으로 생성된다만약 메인프로젝트의 폴더를 별도로 생성한후에 그 폴더 내부에서 명령어를 입력하면경로/메인프로젝트이름/메인프로젝트 안에 프로젝트가 생성..