맥 팩키지 통합 관리 및 버전 변경을 쉽게 하기 위해서 홈브루(homebrew)를 사용합니다.

// 파이썬 설치
brew install python

// 버전 확인. 2020-05-15 현재 최신버전 3.8.22
python3
Python 3.8.2 (v3.8.2:7b3ab5921f, Feb 24 2020, 17:52:18) 
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

// python3 > python 명령으로 대체 방법
vi ~/.zprofile (macOS 카탈리나)

// 추가 내용
alias python='python3'

// 소스 적용
source ~/.zprofile

// python 실행
python

WRITTEN BY
비트센스
뷰파인더로 보는 프로그래머의 세상 페이스북 @bitsense 트위터 @picory 스카이프 picory MSN drawhalf@dreamwiz.com

트랙백  0 , 댓글  0개가 달렸습니다.
secret
import psycopg2 as pg2
from psycopg2.extras import DictCursor

conn = pg2.connect()
cursor = conn.cursor(cursor_factory=DictCursor)
cursor.execute('select %s, %s', ('test', 2))
cursor.query
"select E'test', 2"

WRITTEN BY
비트센스
뷰파인더로 보는 프로그래머의 세상 페이스북 @bitsense 트위터 @picory 스카이프 picory MSN drawhalf@dreamwiz.com

트랙백  0 , 댓글  0개가 달렸습니다.
secret
pip install openpyxl

디렉토리 내의 엑셀 파일 목록 전체를 읽어서 분석하기 코드 일부

import openpyxl
import os
 
dirList = [
    'D:\\admin',
    'D:\\front'
]

currentNo = 0

def analsysEcxcel(filename, currentNo):
    # 엑셀파일 열기
    wb = openpyxl.load_workbook(filename)
    
    # 현재 Active Sheet 얻기
    ws = wb.active
    
    # Active Sheet 지정하기
    # ws = wb.get_sheet_by_name("Sheet1")
    
    # 국영수 점수를 읽기
    for r in ws.rows:
        row_index = r[0].row  # 행 인덱스
        if row_index < 2: # 첫번째 행은 칼럼 정보가 있으니 그대로 패쓰
            continue

        kor_score = r[7].value
        eng_score = r[8].value
        math_score = r[9].value
        
        if int(kor_score) > 50: # 국어 점수가 50점 초과 인원만 확인
            currentNo += 1
            print("%d > %d: %s %s %s" % (currentNo, row_index, kor_score, eng_score, math_score))

    # 엑셀 파일 종료
    wb.close()

    return currentNo

currentFileNo = 0
for dir in dirList:
    currentDir = dir

    # 현재 디렉토리 위치가 존재하는 지 확인
    if os.path.exists(currentDir) == False:
        print('no directory: %s' % currentDir)
    else:
        # 현재 디렉토리 출력
        print(currentDir + ' >>>>>>')
        fileList = os.listdir(currentDir)

        for filename in fileList:
            if filename[:1] == '~': # ~로 시작되는 임시 파일이 존재하면 패쓰
                print('except file .... <<<<<<< %s' % filename)
                continue

            currentFileNo += 1
            # 현재 파일 디렉토리 + 파일명 정리
            currentFile = '%s\\%s' % (currentDir, filename)
            currentNo = analsysEcxcel(currentFile, currentNo)

# 현재 파일 갯수를 출력. 심심하니깐.
print('File Count : %d' % currentFileNo)

 


WRITTEN BY
비트센스
뷰파인더로 보는 프로그래머의 세상 페이스북 @bitsense 트위터 @picory 스카이프 picory MSN drawhalf@dreamwiz.com

트랙백  0 , 댓글  0개가 달렸습니다.
secret

공식사이트 :
http://celestialteapot.com/exedore/




WRITTEN BY
비트센스
뷰파인더로 보는 프로그래머의 세상 페이스북 @bitsense 트위터 @picory 스카이프 picory MSN drawhalf@dreamwiz.com

트랙백  1 , 댓글  0개가 달렸습니다.
secret

카카오톡 연동 API :
https://github.com/HallaZzang/pykakao


WRITTEN BY
비트센스
뷰파인더로 보는 프로그래머의 세상 페이스북 @bitsense 트위터 @picory 스카이프 picory MSN drawhalf@dreamwiz.com

트랙백  0 , 댓글  0개가 달렸습니다.
secret
일신우일신... 하루하루 나아져야 하는 모습이지만,
나이를 먹어봐라... 그게 쉽나...

요새 이런 생각이 절로 듭니다. 해야할 일은 많지만, 많다보니 하기 싫고...
그러다 보면 어느샌가 뒤쳐지는 느낌이 들고...
나를 바라보면서 따라오는 이들에게 좋은 롤모델이 되어야 한다는 자신에게 내린 무서운 형벌인 부담감?으로 인해 오늘 하루도 허송세월을 했습니다.

그러면서 생각한 것이...
SCM 파트에는 RIA의 꽃이라 할 수 있는 플렉스를...
AGENT 파트에는 서버 스크립트 언어인 파이썬을 공부하도록 해야 겠다는 기특한 결심을 했습니다.

일단 양쪽 다 관심을 보이고 있고, 할만하다는 생각입니다.
개인 적으로는 윈도서버에서 구동되는 실버라이트-닷넷(c#)도 쓸만한 궁합이진 않을까 하는 생각입니다.

서로가 좋으하면 윈윈할 수 있는 기회가 오지 않을까 하는 생각을 품어봅니다.

WRITTEN BY
비트센스
뷰파인더로 보는 프로그래머의 세상 페이스북 @bitsense 트위터 @picory 스카이프 picory MSN drawhalf@dreamwiz.com

트랙백  15 , 댓글  1개가 달렸습니다.
  1. 오늘 정기 회의시간에 제팀원 5명에게 관련 내용을 공지했습니다.
    월요일 정기회의시간까지 플렉스, 파이썬 중에 하고 싶은 것을 적어 달라고 했고,
    중복도 가능하다고 했습니다.
    과연 몇명이나 자기의 시간을 쪼개서 공부를 할까요? 궁금하네요.
secret