python 29

Python 공부 노트 7. - Django 설치

설치Python 설치 후, Django 다운로드 https://www.djangoproject.com/download/ 후에, 압축 풀고 > python setup.py install 설치 확인>>> import django >>> print(django.get_version()) 1.6웹사이트 생성django-admin.py startproject mysitedajngo-admin.py는 C:\dev\Python27\Scripts 에 있음해당 디렉토리에 웹사이트 관련 디렉토리 생성됨 (일종의 Tomcat Home, WebLogic Domain Home 디렉토리 같은 개념, 바이너리는 python 디렉토리 아래에 있음) 웹사이트 실행python manage.py runserver 참고 자료 - https..

Python 공부 노트 6. - Logging

http://docs.python.org/2/howto/logging-cookbook.html # Add the log message handler to the loggerhandler = logging.handlers.RotatingFileHandler( LOG_FILENAME, maxBytes=20, backupCount=5) my_logger.addHandler(handler)my_logger.debug('log message here....') Logger: 일종의 identifier로, 애플리케이션 마다 logger를 정하 수 있음 handler: 파일 핸들러, 소켓 핸들러, Rotating 파일 핸들러등,스트림 핸들러(Console 등)※ DB Handler는 없는 듯 하고, 소켓 핸들러를 이..

Python 공부 노트 5. - 단위 테스트

단위테스트는 자바의 JUnit과 사상이 기본적으로 같음 import unittest class SimpleTest(unittest.TestCase): @classmethod def setUpClass(cls): print("set up class") return @classmethod def tearDownClass(cls): print("tearDown class") def setUp(self): print("this is setup") return def tearDown(self): print("this is tear down") return def testSimple(self): self.assert_(1==2, "my assert failed") def testSecond(self): self.a..

Python 공부 노트 4. - 초간단 RDBMS 프로그래밍

RDBMS 프로그래밍시에는 해당 RDBMS에 대한 드라이버(모듈을) import해야 한다. sqlite의 경우는 이미 들어가 있다. 아래는 가장 기본적인 코드 이다.import sqlite3 conn = sqlite3.connect("datafile")cursor = conn.cursor()cursor.execute("drop table test")cursor.execute("create table test (name text,count integer)")cursor.execute("insert into test(name,count) values('Terry',1)")cursor.execute("insert into test(name,count) values('Cath',2)")conn.commit()r..

Python 공부 노트 3. - 데이타 모델 (List)

- insert,append,remove를 이용하여 데이타 추가,삭제 가능- list.sort()를 이용하여 소팅 가능.- 이미 소팅된 리스트에 대해서 bisect.insort({list},newvalue)하면, 소팅된 형태로 insert가 됨- list.sort(compareFunction)을 하면 custom sorting이 가능 def compareFunction(str1,str2): return cmp(len(str1),len(str2))- * 를 하면 N배로 리스트를 복사 예를 들어 [1,2] * 2 = [1,2,1,2]- min,max 사용 가능

Python 공부 노트 2. - 패키지

파이썬의 패키지는 디렉토리 구조를 그대로 사용함 (명시적으로 자바처럼 package라고 정의 안함) - __init__.py : 해당 패키지가 import될때 실행되는 스크립트- __all__ : __init__.py내에 __all__ = ['하위패키지명',..] 식으로 정의하는데, 이는 from {package) import * 를 할때, 리턴되는 모듈 명이다. 자바처럼 import * 하면 모두가 import되는게 아니라, 예를 들어 윈도우즈의 경우 module.py 파일과 Module.py 파일을 같은 파일로 취급(대소문자를 가리지 않기 때문에), 명시적으로 import * 시 패키지내의 어떤 모듈을 -import 할지를 정해줘야 한다.- import : import는 import하고자 하는 mod..

Python 공부 노트 1. - 기본 데이타 형

List 데이타형 : []를 사용lines = string.split(text,'\n') # text를 \n을 delimiter로 사용하여 한줄씩 나눠서 배열 형태로 리턴 chunk = lines[:to]# chunk에 0~to까지 set을 리턴chunk = lines[from:]# chunk에 from~끝까기 set을 리턴chunk = lines[:]# []에 대한 전체 set을 리턴 K/V 형태의 Dictionay : {} 를 사용terry = { 'name':'terry','age':39}# {}안에 'key':'value' 형식으로 데이타 저장cath = { 'name':'cath','age':38}print terry['name']# 특정 필드에 대한 접근은 ['key']를 사용 List of ..

Second언어로 파이썬 시작.

몇달전에인가 사무실에 있을때, 언어에 대한 커버러지를 넓히기 위해서 Ruby와 Groovy를 고민하다가 Groovy를 조금 손대다가 말았습니다. 그러다가 엊그제 Google Cloud 자료를 보다보니 Python을 주로 지원하고 Google의 내부 애플리케이션도 Python으로 만들어져 있는 것을 봤습니다. 예전에 후배가 로그 분석하는 도구도 Python으로 뚝딱 만들더군요. 저는 awk와 sed 스크립트 찾아가면서 만들던데. 그래서 겸사겸사 어젯밤에 2시간 정도 투자해서 쭈욱 튜토리얼을 봤습니다. 정말 언어 자체는 강력하고 또한 쉽습니다. 대략 2시간정도면 언어 자체에 대한 감은 쉽게 찾을 수 있겠더군요. Django라는 웹프레임웍도 있어서 웹개발도 무난할것 같습니다. 이미 수년을 검증받고 살아남은 언..