파이썬 디버깅 ipdb 강제 종료
·
Python
파이썬 디버깅시 유용하게 사용하는 Ipdb로 디버깅하는 도중 루프안에 같혀 강제 종료해야할 경우 아래 혹은import sys sys.exit()아래의 방법으로 시도한다 (2.7과 3.5 버전의 경우 현재 확인결과 아래 방법으로 작동되었다)import os os._exit(0)
Windows Flask 설치 문제
·
Python/Flask
Flask 를 윈도우에서 개발하여 리눅스 서버에 배포할 일이 생겼느데 리눅스에서는 잘만 설치되는 Flask 가 윈도우 가상환경에서는 오류를 뱉어내면서 설치되지 않았다. 해결방법이 두가지가 있는데 setupuptools 의 최신버전에 의한 오류 구글에 알아보니 setupuptools 버전을 낮추는 방법과 Wheel 버전을 다운받아 설치하는 방법이 있었다. 1. setuptools 를 이용한 방법은 아래와 같다. pip install setuptools==21.2.1pip install flask 2. 설치파일 직접 다운로드 후 setup.py 실행홈페이지에서 setup 관련 파일을 직접 다운받은후에 python 으로 바로 실행하도록 하자. 참고:http://stackoverflow.com/questions..
Python 에서 Custom Exception (커스텀 익셉션) 만들기
·
Python
예외처리를 하다보면 기본 내장된 예외말고 커스텀 익셉션으로 처리할일이 많이 있다. Python 에서 Exception 처리를 어떻게 하게 하면 좀더 명확한 메시지 저달을 위해 Exception 에 Dictionary 타입도 전달가능하다만드는 방법은 매우 간단한다. Exception 을 상속받아서 만들면 끝. 예제코드를 보자EX)class FileNotFoundException(Exception): pass 위와 같이 선언한후 Exception 필요한부분에 사용하면된다 try:raise FileNotFoundException("에러 메시지")excep FileNotFoundException as e:print e 와 같이 하면 "에러 메시지" 가 출력된다. 참고: http://stackoverflow.co..
Jupyter notebook 에서 여러 커널 동시에 쓰기
·
Python
Jupyter notebook 에서 멀티 파이써 환경에서 동작하는 방법을 구글링을 통해서 알게되었다. Anaconda 가 미리 설치되어 있는 환경에서 동작한다고 가정한다. Python 2.7의 경우conda create -n py27 python=2.7source activate py27conda install notebook ipykernelipython kernel install --userconfigure the python3.5 environment: Python 3.5의 경우conda create -n py35 python=3.5source activate py35conda install notebook ipykernelipython kernel install --user 참고: http://s..
Jupyter notebook (ipython notebook)
·
Python
파이썬으로 무언가 기록을 영구적으로 저장하고 싶을때 자주 쓰게 되는 것으로 ipython notebook 있었다.Ipython 공식홈페이지에서도 볼수 있다시비 Ipython 은 여러기능을 통합적으로 제공하는 Jupyter 란 이름으로 변경되었는데 Jupyter 노트북의 사용법에 대해 알아보자 사용법은 아주 직관적으로 jupyter 패키지를 설치후 바로 이용하면된다. pypy 를 통해 jupyter 를 먼저 설치한다 pip install jupyter jupyter notebook 파일 이름 * 파이썬 패키지를 설치하다보면 원인 모를 이유에 의해 설치가 되지 않을때가 가끔있다. (컴파일러 및 운영체제 의존및 등등..) 이럴때 Anaconda 혹은 Canopy 와 같은 vendor 들을 사용하면 패키지가 잘..
python 현재 사용하고 있는 os 알아보기
·
Python
공통으로 사용하는 파이썬 스크립트를 OS 별로 다르게 동작하는 로직을 집어넣야 하는 일이 생겨 파이썬 자체내에서 OS환경을 검사하는 #기능이 있나 검색을 해보니 역시 파이썬! 내장 모듈인 platform 을 이용해서 검사한다. 사용법은 아주 간단한다. import platform platform.platform() # 현재 OS에 정보 platform.system() # 현재 OS 이름 platform.release() # 현재 OS release 넘버 platform.version() # 현재 OS version 에 대한 정보 platform.machine() # 현재 OS 설치된 CPU 아키텍쳐 정보 # 맥용 함수 platform.mac_vers() # 리눅스용 함수 platform.linux_dis..
Python으로 쉘 명령어 장기간 실행 행현상시 타임아웃 걸어 프로세스 강제 종료
·
Python
Python 자체의 Hang 현상때문에 프로레스가 출력 값을 리턴하지 않으면 강제 종료 하는 기능을 구현 파이썬에 의해 실행되는 프로그램이 30분이상 걸리지 않는 다는 전제 하에 실행하기로 한다. 파이썬 3.3+ 버전때부터는 프로세스를 실행하는 함수자체 내에서 timeoout 기능을 지원한다. 2.7 버전 subprocess: https://docs.python.org/2/library/subprocess.htm 3.5 버전 subprocess https://docs.python.org/3/library/subprocess.html 위 두버전의 문서를 체크해보면 2.7 버전에서 subprocess.check\_output(args, \*, stdin=None, stderr=None, shell=False..
Python Logging (파이썬 로깅)
·
Python
보호되어 있는 글입니다.
python 에서 현재 로그인된 유저이름 가져오기
·
Python
현재 유저의 이름에 따라 다르게 실행하는 함수 구현Python에서 현재 실행 중인 시스템의 사용자를 가져오고, 사용자 이름에 따라 다른 동작을 수행하려면 getpass 모듈의 getuser() 메서드를 사용할 수 있습니다.기본 예제getpass.getuser()를 사용하여 현재 시스템 사용자의 이름을 가져올 수 있습니다.코드 예시import getpass# 현재 사용자 이름 가져오기current_user = getpass.getuser()print(f"Current user: {current_user}")출력Current user: ethan사용자에 따라 다른 작업 실행아래는 사용자 이름에 따라 특정 동작을 실행하는 함수의 예제입니다.코드 예시import getpassdef execute_based_on..
Python 에서 시스템 명령어 사용하기
·
Python
Python을 활용한 시스템 명령어 실행 가이드1. 기본적인 명령어 실행 방법os 모듈 사용import os# 단순 명령어 실행status = os.system('ls -al')# 반환값은 명령어 실행 상태 (0: 성공, 非0: 실패)subprocess 모듈 사용 (권장)import subprocess# 기본 실행 방법result = subprocess.call(['ls', '-al'])# shell=True 옵션 사용 시result = subprocess.call('ls -al', shell=True)2. 시스템 명령어 출력 결과 처리화면 출력# subprocess.run 사용 (Python 3.5+)result = subprocess.run(['ls', '-al'], capture_output=Tru..