분류 전체보기 90

Python 학습사이트

Python을 공부해보면서 참조할만한 사이트들 파이썬 학습 방법 - http://nolboo.github.io/blog/2014/08/10/the-best-way-to-learn-python/원문 - http://code.tutsplus.com/articles/the-best-way-to-learn-python--net-26288 점프 투 파이썬 - https://wikidocs.net/book/1왕초보를 위한 Python2.7 - https://wikidocs.net/book/2점트 투 파이썬 (코드잡) - http://codejob.co.kr/Dive into Python (번역) - http://coreapython.hosting.paran.com/dive/chap00.htmlJython - htt..

Array 정렬하기 (sort)

기본적인 문법이겠지만, 프로젝트 진행중에 사용의 필요가 없어 사용하지 않았었다.그러다보니 막상 사용할때, 직접 구현을 하여야 하나 고민하였었는데, 찾아보니 너무나도 간단하였다. a = [[5,2,2], [4,2,1], [1,2,3], [1,2,1]]의 배열이 있을때, 첫번째 항목들이 같으면 두번재 항목들로 비교하는 식으로 정렬하고자 하였다. 어떻게 sorting하여야 하나 고민하였으나...역시 python a.sort() 로 간단히 정렬이 되어버렸다.a = [[1,2,1], [1,2,3], [4,2,1], [5,2,2]] sorted(a)로 하면 a의 항목들은 정렬되지 않은 채로 남아있는 채로 sorting된 결과를 보여준다.이것도 의외로 쓸만할듯 싶다.

[Python] TypeError: 'module' object is not callable 조치

기존에 개발한 python 파일을 다른 python 파일에서 불러다 쓸 일이 생겼다. 그랬더니 다음과 같은 에러가 발생하며 동작하지 않았다. TypeError: 'module' object is not callable import 한 모듈을 class처럼 사용하려 해서 발생한 에러였다. import 한 modlue는 class가 아니기에 class처럼 사용하면 안된다. 주로 File name과 class name을 같게 한 경우, 많이 발생하지 싶다. import 할 파일 AAA.py class AAA(object): 어쩌구저쩌구... b.py import AAA class b(object): aaa = AAA()

배열 한번에 초기화하기

배열을 사용전에 초기화할 필요가 간혹 있다.Loop 문을 사용하는 방법도 있을 것이고좀 무식하지만 배열을 하나하나 초기화하는 방법도 있을 것이다.그런데 이 무식한 방법은 배열의 길이가 실행할때마다 달라지게 된다면 사용이 좀 애매할 수 있다. 그래서 찾아보니 Loop보다 훨씬 간단한 방법이 있었다.A = ['0'] * len(A) 찾아본 방법은 A = ['0'] * 10 이었지만, 배열의 크기가 동적으로 바뀌는 경우에는 대응이 안되기에 위와같이 하니 잘 되는 것을 확인할 수 있었다.

python 에서 다른 경로의 module import하기

보통 현재 경로나 python library만 import 하여 사용하는데, 간혹 프로젝트 공통 module을 import 하여야 할 경우가 있다.대부분 현재경로에서 위로올라가야하는데, 이 경우 다음처럼 하면 import할 수 있었다. import syssys.path.insert(0, new_path) 이렇게 하면 new_path가 sys.path의 첫번째로 추가가 된다.추가하는 순서를 잘 설정하면 동일한 이름이더라도 문제없이 사용할 수 있을 것 같다. (이전에 이름을 다르게 해서 헷갈리지 않는게 더 좋겠지만...)

실행파일의 절대경로 가져오기

특정 script를 실행시킬때, 실행시키는 위치에 따라 pwd의 결과값이 달라져서 아무곳에서나 실행시키기 곤란한 경우가 종종있었다.cd를 통해서 특정위치로 이동시켜도 가능했지만, 해당 파일을 다른 곳으로 이동시키면, 파일을 수정해야만 해서 추가 작업이 필요했다.그래서 찾아보니 다음과 같이 수행하면 추가 수정없이 해당 파일의 위치를 가져올 수가 있었다.#!/bin/sh EXEC_FILE="$0" BASE_NAME=`basename "$EXEC_FILE"` if [ "$EXEC_FILE" = "./$BASE_NAME" ] || [ "$EXEC_FILE" = "$BASE_NAME" ]; then FULL_PATH=`pwd` else FULL_PATH=`echo "$EXEC_FILE" | sed 's/'"${B..

Development/OS 2014.03.19

참조사이트

영어사이트Python Standard Library : http://docs.python.org/2/library/index.htmlPython unittest: http://docs.python.org/2/library/unittest.html 한글사이트파이썬마을 : http://python.or.kr 다이빙 파이썬(최종) : http://coreapython.hosting.paran.com/dive/chap00.html 컴퓨터 과학자처럼 생각하는 법(최종) : http://coreapython.hosting.paran.com/thinkCSpy(2nd)/index.htm 귀도의 파이썬 자습서(2.5) : http://coreapython.hosting.paran.com/howto/tut/index.ht..

GitHub에서 fork한 git간 sync 맞추기

공동작업을 위해 한 git을 각각 fork해서 사용하는 경우가 있다.이 경우 base git에 다른 사람이 올린 commit으로 인해 내가 base git으로 올리는 git이 conflict 되는 경우가 발생하는데 다음과 같이 하여 sync를 맞추면 된다.(이때 conflict 이 발생할 수 있는데, 이 경우에는 mergetool로 해결하자)$ git remote -v # List the current remotes # origin https://github.com/user/repo.git (fetch) # origin https://github.com/user/repo.git (push) $ git remote add upstream https://github.com/otheruser/repo.git ..

Development/Etc 2013.10.30