본문 바로가기

파이썬 - time.struct_time (년도, 월, 일, 시간, 분, 요일, dst) 파이썬 time.struct_time 이 제가 작업하고 있던 내용에서 유용해서 정리해두려고 포스팅해봅니다. 일단 공식 문서를 확인해보고 각각을 한 번씩 실습해볼께요. https://docs.python.org/2/library/time.html#time.struct_time 일단 어떤 경로던지 time.struct_time 객체를 받아오는 것이 먼저입니다. date에서 time.struct_time 을 return 해주는 함수가 있는데요. timetuple()입니다. 아래 예제에서 오늘 날짜의 time.struct_time을 return 해주는 함수가 getTodayTimetuple 입니다. 일단 위 코드에서 사용된 time.struct_time는 2018년 2월 16일 0시 0분을 가르키고 있을 거에요.. 더보기
파이썬 - 날짜 구하기 (오늘, 이번달 1일, 날짜 차이) 최근에 개발한 것 중에 매일 매일 로그를 잘라서 처리하고 공유하는 스크립트가 있습니다. 이걸 하려다 보니깐 날짜와 관련된 datetime 라이브러리를 많이 사용하게 되네요. 간단하게 몇 가지만 정리해보려고 하는데요. 1. 오늘 날짜 2. 이번달 1일 (예를 들어서 2월 5일에 실행하면 2월 1일을 돌려받는 것) 3. 이번달 1일에서 오늘까지 차이 값 일단 코드는 아래와 같습니다. getCurrentUnixTime은 현재 시간의 unix time을 돌려주는 것이고요. getToday는 오늘 날짜를 돌려주는 것입니다. getFirstDayOfTheMonth 는 이번 달 1일을 돌려주는 함수고요. getDateInterval은 오늘이랑 이번달 1일과의 차이를 돌려주는 함수입니다. 실행결과는 아래와 같고요. 더보기
파이썬 print color 구글에서 python print colors 으로 검색하면 처음에 나오는 stackoverflow의 문서에 잘 나와있는데요. https://stackoverflow.com/questions/287871/print-in-terminal-with-colors 저는 주로 cli 로 실행되는 짧은 스크립트를 작성할 때 적용하고 있습니다. 색상을 지정해서 출력하는 것이 뭐가 그렇게 중요하냐고 하시면 할말이 많지는 않습니다. 스크립트의 진행상황을 좀 더 쉽게 파악할 수 있기 때문에 저는 좋아라 합니다. :-) 사용방법은 bcolors라는 클래스를 정의해두고 print 문 시작과 끝에 가져다 쓰면 됩니다. 이렇게 출력되고요. 더보기
파이썬 유닉스 시간(Unix Time) 구하기 파이썬에서 유닉스 시간 구하는 방법에 대해서 정리해둡니다. 일단 유닉스 시간은 여기 위키문서를 참고하세요. 파이썬에서 기본적으로 제공되는 datetime 라이브러리를 활용하면 유닉스 시간을 쉽게 구할 수 있어요. 아래 코드는 유닉스 시간을 구하는 예제를 나타냅니다. 먼저 getCurrentUnixTime 함수는 time.time()이라는 결과를 리턴하는데요.time.time()에 대한 자세한 설명은 여기 문서를 확인해보세요. 간단히 말해서 현재 시간에 대한 epoch time을 반환해주는 함수인데요. epoch time == unix time 이기 때문에현재 시간에 대한 유닉스시간 값을 손쉽게 얻을 수 있는 방법입니다. getTodayUnixTime은int(datetime.date.today().srtf.. 더보기
파이썬 basic - 파일 읽을 때 newline (/n) 제거하기 (remove newline) 파이썬으로 파일을 읽어들일 때 각 줄의 맨 끝에 있는 newline(/n)을 제거하는 방법에 대해서생각나는 것만 정리해봅니다 :) 실험에 사용된 textfile은 아래와 같아요. 일단 읽어들여서 출력하는 소스는 아래와 같이 작성할 수 있습니다. with open("./test.txt", "r") as f : for i in f.readlines(): print i 작동시켜보면 아래와 같이 출력됩니다.이유는 파일 각 라인의 맨 끝에 newline이 들어가 있기 때문입니다 :)이걸 삭제하는 방법은 여러 가지가 있습니다. 구글에 쳐보면 참 많이 나와있구요. 여기서는 그냥 기록용으로 2개만.. 첫 번째 방법은 각 라인에서 -1까지 자르는 것입니다. 아래 line 5를 보면 i[:-1]를 통해 각 라인의 첫 번째.. 더보기
파이썬 basic - 리스트에서 최대값 찾기 (find the maximum value in list.) 이번에는 리스트에서 최대값을 찾는 것 + 최대값의 index 값을 찾는 것에 대해서 정리해두려고 합니다. 정리해야 생각나게 되는 것 같아서요. 아래 그림에 모든 내용이 들어가 있긴합니다. >>> import random>>> test = [random.random() for i in range(0, 20)]>>> print test[0.0907089251039096, 0.13237816180650663, 0.633094306790336, 0.14850518076559094, 0.6688298962786413, 0.2639774163318962, 0.5574325879302344, 0.8372412165395211, 0.33809895084074815, 0.28770998595536523, 0.299230.. 더보기
파이썬 basic - GET Current / Parent Directory Name 파이썬에서 현재 폴더의 절대 경로를 얻기 위한 방법은 아래와 같습니다. import os >> os.getcwd() 위에서는 /user/local/lib 위치에서 수행해본 것이구요. 장고(django)에서는 settings.py 초반에 아래와 같은 소스가 나옵니다. 위 BASE_DIR을 출력해보면 프로젝트 홈의 절대경로가 나오구요.위 BASE_DIR을 활용해서 STATIC FILE의 위치를 설정하기도 합니다. 현재 폴더의 상위 폴더는 아래와 같이 얻을 수 있습니다. 수 많은 방법들 중에 하나일 뿐이죠 !! 더보기
replace 2번하기, 3번하기 그래도 한 번 포스팅해두면 기억하는 것 같아서엄청나게 간단한 내용이지만 포스팅 해둡니다. :) python에서 하나의 string에서 replace를 통해 문자를 바꿀 수 있죠. 예로 다음 그림과 같습니다. 위 그림에서 11111111 과 2222222 를 바꾸기 위해서는 새로운 변수에 저장하고 또 replace해야 할까요? 아니더라구요. 동시에 여러 문자를 바꾸고 싶은 경우 아래와 같이 replace를 중첩해서 사용할 수 있더라구요. 마치 리눅스의 pipe 같은 느낌이네요. 그러니깐 replace 함수가 반환하는 것이 string이니깐 거기에 또 replace가 가능하다는 것이겠네요. 더보기
Non-ASCII character .. python, django 파이썬!!한글!! 파이썬 환경에서 한글을 사용할 때 아래 그림과 같이 Non-ASCII character ... 에러가 나면 파이썬이 기본적으로 ASCII 인코딩을 사용하기 때문이라고 하네요.ASCII로는 한글을 표현할 수 없기 때문에 다른 인코딩 방식을 사용해야 합니다. 파이썬 파일 맨 위에 한 줄을 추가하면 utf-8로 인코딩 방식을 바꿀 수 있습니다.그것은 # -*- coding: utf-8 -*- 입니다. print "한글이에요" 더보기
파이썬 basic - 리스트 (append, pop, insert) 오늘은 리스트 함수 3개에 대해서 정리해두려고 합니다. 참고 사이트는 https://docs.python.org/2/tutorial/datastructures.html 입니다. 사용하는 리스트는 아래와 같이 생겼다고 가정할께요. tList = ['a', 'b', 'c', 'd'] 1. append 먼저 append는 리스트의 맨 마지막에 새로운 요소를 추가하는 것입니다. tList.append('e') 위와 같은 문장을 실행하면 리스트가 아래와 같이 변경되겠죠. 2. insert 꼭 맨 마지막에 새로운 요소를 추가해야 하는 것은 아니죠. 특정 인덱스(index)에 새로운 요소를 추가하고자 할 때는 insert 라는 함수를 사용할 수 있습니다. 예로 0번째 인덱스에 'f' 를 추가하기 위해서는 아래와 같이.. 더보기
파이썬 basic - Read GeoJSON 파이썬(python)을 잘하고 싶어요 ㅠㅠㅠㅠ 사실 파이썬 이라기 보다는 개발을 잘하고, 설계도, 프레임워크 사용도 기타 등등도 ㅠ 열심히 정리하고 하나씩 배워나가야겠죠. 그래서 오늘은 GeoJSON 파일을 읽는 것에 대해서 간단하게 정리해둡니다. 일단 파싱하고자 하는 예제 GeoJSON은 다음과 같이 생겼습니다아. 서울 열린데이터 광장에서 "역코드로 지하철역 위치조회" 라는 제목으로 배포되고 있는 CSV 파일을 GeoJSON으로 가공한 데이터입니다. ㅎㅎㅎ 이 데이터가 2015년 09월 11일 기준으로 조금 이상하게 입력되어 있는 부분이 있긴 하지만 GeoJSON 파일 읽기에 대한 예제로는 무리가 없습니다. GeoJSON도 기본적으로는 JSON이기 때문에 아래와 같이 json 모듈을 추가함으로써 쉽게 .. 더보기
파이썬 basic - 딕셔너리 키 리스트 (dictionary key list) 파이썬에서 딕셔너리의 키 리스트를 얻기 위해서는 keys() 라는 함수를 사용하면 됩니다. 예로 test라는 딕셔너리가 아래와 같이 구성되어 있다고 가정해보겠습니다. test = {'a': 'apple', 'b': 'ball', 'c': 'circle'} test의 키 값들을 리스트로 받기 위해서 keys() 함수를 사용한 결과입니다. keys() 함수는 리스트로 키들을 반환하는 것을 확인할 수 있습니다. 딕셔너리에서 key 값을 이용해서 값을 얻는 방법은 아래 예제와 같이 가능합니다. 아래와 같은 방법도 있겠죠. 더보기
파이썬 basic - 문자열 나누기, 분할, 자르기 + int, float 변환 포스팅 이름이 참 복잡하고 길고 무슨 말인지 어설프네요. 간단하게 이번 포스팅에서 정리할 내용은 예를 통해서 .. 1. 아래와 같은 문자열이 존재... "1, 2, 3, 4, 5, 6, 7, ......" 2. 문자열을 콤마(,)로 잘라서 리스트에 입력 (python split 사용) ['1', '2', '3', '4', '5', '6', '7' ......] 3. 사실 1번에 작성한 문자열을 잘라서 숫자로 사용하고 싶은데 python split을 하면 문자 '1', '2', '3' 으로 저장됨 근데 실제로 가지고 싶은 리스트는 [1, 2, 3, 4, 5, 6, 7, ..... ]임 일단 split 함수에 대해서 간단하게 이야기하고 넘어가야 합니다. python에서 문자열을 특정 문자를 기준으로 잘라서 .. 더보기
Python(파이썬) 관련 최신 정보 받아보기 저는 .. 웹 상에서 제 이메일을 입력해서 정보를 받아보는 형태를 별로 좋아하지 않는데요. 대부분이 이메일을 알려주면 광고만 일주일에 수십개를 보내기 때문인데요 ^^;; 아래 소개하려는 웹 사이트는 그런게 없더라구요. 일주일에 딱 하나 이메일을 보내옵니다. 한국시간으로 매주 금요일 새벽이네요. 약간의 광고를 포함하고 있지만, 파이썬 관련한 최신 정보를 받아볼 수 있으니깐 괜찮아요. 영어로 되어 있지만, 개발 관련된 최신 정보가 영어가 아닌게 있나요? ㅎㅎ 주소는 http://www.pythonweekly.com/ 입니다. 구독해보셔도 좋을 것 같아서 추천드려요 ^^ 라즈베리파이와 관련된 위클리도 있습니다. http://www.raspiweekly.com/ NoSQL에 관련된 위클리는 http://www... 더보기
pip installed package list pip installed package list - 1 command : pip freeze pip installed package list - 2 command : python Python 2.7.3 (default, Dec 18 2014, 19:10:20) [GCC 4.6.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import pip >>> for package in pip.get_installed_distributions(): ... print package pip를 통해 설치된 패키지 리스트를 얻는 방법을 간단하게 위에서 2개 보여드렸습니다. 1번 방식은 pip freeze 라는 명령.. 더보기
Python-OpenCV Installation in Ubuntu 12.04 Ubuntu(우분투) 12.04에서 OpenCV를 설치하고 Python으로 활용하기 위해 설치해야 하는 내용을 간단하게 정리해보려구요. 1. OpenCV 설치 - 최신 버전을 설치하는냐 혹은 기존 apt-repository에 존재하는 버전을 설치하느냐에 따라서 달라집니다. - 최신 버전(2015년 2월 10일 기준)은 3.0 BETA이네요. 이것을 설치하기 원하는 분은 아래 링크를 참고하세요. http://docs.opencv.org/trunk/doc/tutorials/introduction/linux_install/linux_install.html - 여기서는 그냥 apt로 설치하겠습니다. apt-get install libopencv-dev 아래와 같이 엄청나게 많은 패키지를 설치하네요. 용량은 약 .. 더보기