완벽히 잊고 살아도 될 줄 알았던 것들이 발목을 잡네요.
기회 삼아 레퍼런스용으로 적어놔 봅니다.

EUC-KR(KSC5601) Table 입니다.

python 상에서 확인하려면 다음과 같이 테스트할 수 있습니다.
( 제 환경은 sys.stdin.encoding이 'utf-8'이며, python 버전은 2.6입니다.
3.0이면 좀 다르겠죠 :) )

>>> '각'.decode('utf-8').encode('euc-kr')
'\xb0\xa2'
>>> print '\xb0\xa2'.decode('euc-kr')
'각'


B0

  00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F

A0

B0

C0

D0

E0

F0

      가    간  갇  갈  갉  갊  감  갑  값  갓  갔  강  갖  갗

  같  갚  갛  개  객  갠  갤  갬  갭  갯  갰  갱  갸  갹  갼  걀

  걋  걍  걔  걘  걜  거  걱  건  걷  걸  걺  검  겁  것  겄  겅

  겆  겉  겊  겋  게  겐  겔  겜  겝  겟  겠  겡  겨  격  겪  견

  겯  결  겸  겹  겻  겼  경  곁  계  곈  곌  곕  곗  고  곡  곤

  곧  골  곪  곬  곯  곰  곱  곳  공  곶  과  곽  관  괄  괆

B1

  00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F

A0

B0

C0

D0

E0

F0

      괌  괍  괏  광  괘  괜  괠  괩  괬  괭  괴  괵  괸  괼  굄

  굅  굇  굉  교  굔  굘  굡  굣  구  국  군  굳  굴  굵  굶  굻

  굼  굽  굿  궁  궂  궈  궉  권  궐  궜  궝  궤  궷  귀  귁  귄

  귈  귐  귑  귓  규  균  귤  그  극  근  귿  글  긁  금  급  긋

  긍  긔  기  긱  긴  긷  길  긺  김  깁  깃  깅  깆  깊  까  깍

  깎  깐  깔  깖  깜  깝  깟  깠  깡  깥  깨  깩  깬  깰  깸

B2

  00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F

A0

B0

C0

D0

E0

F0

      깹  깻  깼  깽  꺄  꺅  꺌  꺼  꺽  꺾  껀  껄  껌  껍  껏

  껐  껑  께  껙  껜  껨  껫  껭  껴  껸  껼  꼇  꼈  꼍  꼐  꼬

  꼭  꼰  꼲  꼴  꼼  꼽  꼿  꽁  꽂  꽃  꽈  꽉  꽐  꽜  꽝  꽤

  꽥  꽹  꾀  꾄  꾈  꾐  꾑  꾕  꾜  꾸  꾹  꾼  꿀  꿇  꿈  꿉

  꿋  꿍  꿎  꿔  꿜  꿨  꿩  꿰  꿱  꿴  꿸  뀀  뀁  뀄  뀌  뀐

  뀔  뀜  뀝  뀨  끄  끅  끈  끊  끌  끎  끓  끔  끕  끗  끙  

B3

  00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F

A0

B0

C0

D0

E0

F0

      끝  끼  끽  낀  낄  낌  낍  낏  낑  나  낙  낚  난  낟  날

  낡  낢  남  납  낫  났  낭  낮  낯  낱  낳  내  낵  낸  낼  냄

  냅  냇  냈  냉  냐  냑  냔  냘  냠  냥  너  넉  넋  넌  널  넒

  넓  넘  넙  넛  넜  넝  넣  네  넥  넨  넬  넴  넵  넷  넸  넹

  녀  녁  년  녈  념  녑  녔  녕  녘  녜  녠  노  녹  논  놀  놂

  놈  놉  놋  농  높  놓  놔  놘  놜  놨  뇌  뇐  뇔  뇜  뇝

B4

  00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F

A0

B0

C0

D0

E0

F0

      뇟  뇨  뇩  뇬  뇰  뇹  뇻  뇽  누  눅  눈  눋  눌  눔  눕

  눗  눙  눠  눴  눼  뉘  뉜  뉠  뉨  뉩  뉴  뉵  뉼  늄  늅  늉

  느  늑  는  늘  늙  늚  늠  늡  늣  능  늦  늪  늬  늰  늴  니

  닉  닌  닐  닒  님  닙  닛  닝  닢  다  닥  닦  단  닫  달  닭

  닮  닯  닳  담  답  닷  닸  당  닺  닻  닿  대  댁  댄  댈  댐

  댑  댓  댔  댕  댜  더  덕  덖  던  덛  덜  덞  덟  덤  덥

B5

  00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F

A0

B0

C0

D0

E0

F0

      덧  덩  덫  덮  데  덱  덴  델  뎀  뎁  뎃  뎄  뎅  뎌  뎐

  뎔  뎠  뎡  뎨  뎬  도  독  돈  돋  돌  돎  돐  돔  돕  돗  동

  돛  돝  돠  돤  돨  돼  됐  되  된  될  됨  됩  됫  됴  두  둑

  둔  둘  둠  둡  둣  둥  둬  뒀  뒈  뒝  뒤  뒨  뒬  뒵  뒷  뒹

  듀  듄  듈  듐  듕  드  득  든  듣  들  듦  듬  듭  듯  등  듸

  디  딕  딘  딛  딜  딤  딥  딧  딨  딩  딪  따  딱  딴  딸

B6

  00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F

A0

B0

C0

D0

E0

F0

  텭  땀  땁  땃  땄  땅  땋  때  땍  땐  땔  땜  땝  땟  땠  땡

  떠  떡  떤  떨  떪  떫  떰  떱  떳  떴  떵  떻  떼  떽  뗀  뗄

  뗌  뗍  뗏  뗐  뗑  뗘  뗬  또  똑  똔  똘  똥  똬  똴  뙈  뙤

  뙨  뚜  뚝  뚠  뚤  뚫  뚬  뚱  뛔  뛰  뛴  뛸  뜀  뜁  뜅  뜨

  뜩  뜬  뜯  뜰  뜸  뜹  뜻  띄  띈  띌  띔  띕  띠  띤  띨  띰

  띱  띳  띵  라  락  란  랄  람  랍  랏  랐  랑  랒  랖  랗

B7

  00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F

A0

B0

C0

D0

E0

F0

  퇏  래  랙  랜  랠  램  랩  랫  랬  랭  랴  략  랸  럇  량  러

  럭  런  럴  럼  럽  럿  렀  렁  렇  레  렉  렌  렐  렘  렙  렛

  렝  려  력  련  렬  렴  렵  렷  렸  령  례  롄  롑  롓  로  록

  론  롤  롬  롭  롯  롱  롸  롼  뢍  뢨  뢰  뢴  뢸  룀  룁  룃

  룅  료  룐  룔  룝  룟  룡  루  룩  룬  룰  룸  룹  룻  룽  뤄

  뤘  뤠  뤼  뤽  륀  륄  륌  륏  륑  류  륙  륜  률  륨  륩

B8

  00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F

A0

B0

C0

D0

E0

F0

  툩  륫  륭  르  륵  른  를  름  릅  릇  릉  릊  릍  릎  리  릭

  린  릴  림  립  릿  링  마  막  만  많  맏  말  맑  맒  맘  맙

  맛  망  맞  맡  맣  매  맥  맨  맬  맴  맵  맷  맸  맹  맺  먀

  먁  먈  먕  머  먹  먼  멀  멂  멈  멉  멋  멍  멎  멓  메  멕

  멘  멜  멤  멥  멧  멨  멩  며  멱  면  멸  몃  몄  명  몇  몌

  모  목  몫  몬  몰  몲  몸  몹  못  몽  뫄  뫈  뫘  뫙  뫼

B9

  00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F

A0

B0

C0

D0

E0

F0

      묀  묄  묍  묏  묑  묘  묜  묠  묩  묫  무  묵  묶  문  묻

  물  묽  묾  뭄  뭅  뭇  뭉  뭍  뭏  뭐  뭔  뭘  뭡  뭣  뭬  뮈

  뮌  뮐  뮤  뮨  뮬  뮴  뮷  므  믄  믈  믐  믓  미  믹  민  믿

  밀  밂  밈  밉  밋  밌  밍  및  밑  바  박  밖  밗  반  받  발

  밝  밞  밟  밤  밥  밧  방  밭  배  백  밴  밸  뱀  뱁  뱃  뱄

  뱅  뱉  뱌  뱍  뱐  뱝  버  벅  번  벋  벌  벎  범  법  벗

BA

  00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F

A0

B0

C0

D0

E0

F0

      벙  벚  베  벡  벤  벧  벨  벰  벱  벳  벴  벵  벼  벽  변

  별  볍  볏  볐  병  볕  볘  볜  보  복  볶  본  볼  봄  봅  봇

  봉  봐  봔  봤  봬  뵀  뵈  뵉  뵌  뵐  뵘  뵙  뵤  뵨  부  북

  분  붇  불  붉  붊  붐  붑  붓  붕  붙  붚  붜  붤  붰  붸  뷔

  뷕  뷘  뷜  뷩  뷰  뷴  뷸  븀  븃  븅  브  븍  븐  블  븜  븝

  븟  비  빅  빈  빌  빎  빔  빕  빗  빙  빚  빛  빠  빡  빤  

BB

  00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F

A0

B0

C0

D0

E0

F0

      빨  빪  빰  빱  빳  빴  빵  빻  빼  빽  뺀  뺄  뺌  뺍  뺏

  뺐  뺑  뺘  뺙  뺨  뻐  뻑  뻔  뻗  뻘  뻠  뻣  뻤  뻥  뻬  뼁

  뼈  뼉  뼘  뼙  뼛  뼜  뼝  뽀  뽁  뽄  뽈  뽐  뽑  뽕  뾔  뾰

  뿅  뿌  뿍  뿐  뿔  뿜  뿟  뿡  쀼  쁑  쁘  쁜  쁠  쁨  쁩  삐

  삑  삔  삘  삠  삡  삣  삥  사  삭  삯  산  삳  살  삵  삶  삼

  삽  삿  샀  상  샅  새  색  샌  샐  샘  샙  샛  샜  생  샤

BC

  00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F

A0

B0

C0

D0

E0

F0

      샥  샨  샬  샴  샵  샷  샹  섀  섄  섈  섐  섕  서  석  섞

  섟  선  섣  설  섦  섧  섬  섭  섯  섰  성  섶  세  섹  센  셀

  셈  셉  셋  셌  셍  셔  셕  션  셜  셤  셥  셧  셨  셩  셰  셴

  셸  솅  소  속  솎  손  솔  솖  솜  솝  솟  송  솥  솨  솩  솬

  솰  솽  쇄  쇈  쇌  쇔  쇗  쇘  쇠  쇤  쇨  쇰  쇱  쇳  쇼  쇽

  숀  숄  숌  숍  숏  숑  수  숙  순  숟  술  숨  숩  숫  숭

BD

  00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F

A0

B0

C0

D0

E0

F0

      숯  숱  숲  숴  쉈  쉐  쉑  쉔  쉘  쉠  쉥  쉬  쉭  쉰  쉴

  쉼  쉽  쉿  슁  슈  슉  슐  슘  슛  슝  스  슥  슨  슬  슭  슴

  습  슷  승  시  식  신  싣  실  싫  심  십  싯  싱  싶  싸  싹

  싻  싼  쌀  쌈  쌉  쌌  쌍  쌓  쌔  쌕  쌘  쌜  쌤  쌥  쌨  쌩

  썅  써  썩  썬  썰  썲  썸  썹  썼  썽  쎄  쎈  쎌  쏀  쏘  쏙

  쏜  쏟  쏠  쏢  쏨  쏩  쏭  쏴  쏵  쏸  쐈  쐐  쐤  쐬  쐰

BE

  00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F

A0

B0

C0

D0

E0

F0

      쐴  쐼  쐽  쑈  쑤  쑥  쑨  쑬  쑴  쑵  쑹  쒀  쒔  쒜  쒸

  쒼  쓩  쓰  쓱  쓴  쓸  쓺  쓿  씀  씁  씌  씐  씔  씜  씨  씩

  씬  씰  씸  씹  씻  씽  아  악  안  앉  않  알  앍  앎  앓  암

  압  앗  았  앙  앝  앞  애  액  앤  앨  앰  앱  앳  앴  앵  야

  약  얀  얄  얇  얌  얍  얏  양  얕  얗  얘  얜  얠  얩  어  억

  언  얹  얻  얼  얽  얾  엄  업  없  엇  었  엉  엊  엌  엎

BF

  00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F

A0

B0

C0

D0

E0

F0

      에  엑  엔  엘  엠  엡  엣  엥  여  역  엮  연  열  엶  엷

  염  엽  엾  엿  였  영  옅  옆  옇  예  옌  옐  옘  옙  옛  옜

  오  옥  온  올  옭  옮  옰  옳  옴  옵  옷  옹  옻  와  왁  완

  왈  왐  왑  왓  왔  왕  왜  왝  왠  왬  왯  왱  외  왹  왼  욀

  욈  욉  욋  욍  요  욕  욘  욜  욤  욥  욧  용  우  욱  운  울

  욹  욺  움  웁  웃  웅  워  웍  원  월  웜  웝  웠  웡  웨

C0

  00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F

A0

B0

C0

D0

E0

F0

      웩  웬  웰  웸  웹  웽  위  윅  윈  윌  윔  윕  윗  윙  유

  육  윤  율  윰  윱  윳  융  윷  으  윽  은  을  읊  음  읍  읏

  응  읒  읓  읔  읕  읖  읗  의  읜  읠  읨  읫  이  익  인  일

  읽  읾  잃  임  입  잇  있  잉  잊  잎  자  작  잔  잖  잗  잘

  잚  잠  잡  잣  잤  장  잦  재  잭  잰  잴  잼  잽  잿  쟀  쟁

  쟈  쟉  쟌  쟎  쟐  쟘  쟝  쟤  쟨  쟬  저  적  전  절  젊

C1

  00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F

A0

B0

C0

D0

E0

F0

      점  접  젓  정  젖  제  젝  젠  젤  젬  젭  젯  젱  져  젼

  졀  졈  졉  졌  졍  졔  조  족  존  졸  졺  좀  좁  좃  종  좆

  좇  좋  좌  좍  좔  좝  좟  좡  좨  좼  좽  죄  죈  죌  죔  죕

  죗  죙  죠  죡  죤  죵  주  죽  준  줄  줅  줆  줌  줍  줏  중

  줘  줬  줴  쥐  쥑  쥔  쥘  쥠  쥡  쥣  쥬  쥰  쥴  쥼  즈  즉

  즌  즐  즘  즙  즛  증  지  직  진  짇  질  짊  짐  집  짓

C2

  00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F

A0

B0

C0

D0

E0

F0

      징  짖  짙  짚  짜  짝  짠  짢  짤  짧  짬  짭  짯  짰  짱

  째  짹  짼  쨀  쨈  쨉  쨋  쨌  쨍  쨔  쨘  쨩  쩌  쩍  쩐  쩔

  쩜  쩝  쩟  쩠  쩡  쩨  쩽  쪄  쪘  쪼  쪽  쫀  쫄  쫌  쫍  쫏

  쫑  쫓  쫘  쫙  쫠  쫬  쫴  쬈  쬐  쬔  쬘  쬠  쬡  쭁  쭈  쭉

  쭌  쭐  쭘  쭙  쭝  쭤  쭸  쭹  쮜  쮸  쯔  쯤  쯧  쯩  찌  찍

  찐  찔  찜  찝  찡  찢  찧  차  착  찬  찮  찰  참  찹  찻

C3

  00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F

A0

B0

C0

D0

E0

F0

      찼  창  찾  채  책  챈  챌  챔  챕  챗  챘  챙  챠  챤  챦

  챨  챰  챵  처  척  천  철  첨  첩  첫  첬  청  체  첵  첸  첼

  쳄  쳅  쳇  쳉  쳐  쳔  쳤  쳬  쳰  촁  초  촉  촌  촐  촘  촙

  촛  총  촤  촨  촬  촹  최  쵠  쵤  쵬  쵭  쵯  쵱  쵸  춈  추

  축  춘  출  춤  춥  춧  충  춰  췄  췌  췐  취  췬  췰  췸  췹

  췻  췽  츄  츈  츌  츔  츙  츠  측  츤  츨  츰  츱  츳  층

C4

  00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F

A0

B0

C0

D0

E0

F0

      치  칙  친  칟  칠  칡  침  칩  칫  칭  카  칵  칸  칼  캄

  캅  캇  캉  캐  캑  캔  캘  캠  캡  캣  캤  캥  캬  캭  컁  커

  컥  컨  컫  컬  컴  컵  컷  컸  컹  케  켁  켄  켈  켐  켑  켓

  켕  켜  켠  켤  켬  켭  켯  켰  켱  켸  코  콕  콘  콜  콤  콥

  콧  콩  콰  콱  콴  콸  쾀  쾅  쾌  쾡  쾨  쾰  쿄  쿠  쿡  쿤

  쿨  쿰  쿱  쿳  쿵  쿼  퀀  퀄  퀑  퀘  퀭  퀴  퀵  퀸  퀼

C5

  00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F

A0

B0

C0

D0

E0

F0

      큄  큅  큇  큉  큐  큔  큘  큠  크  큭  큰  클  큼  큽  킁

  키  킥  킨  킬  킴  킵  킷  킹  타  탁  탄  탈  탉  탐  탑  탓

  탔  탕  태  택  탠  탤  탬  탭  탯  탰  탱  탸  턍  터  턱  턴

  털  턺  텀  텁  텃  텄  텅  테  텍  텐  텔  템  텝  텟  텡  텨

  텬  텼  톄  톈  토  톡  톤  톨  톰  톱  톳  통  톺  톼  퇀  퇘

  퇴  퇸  툇  툉  툐  투  툭  툰  툴  툼  툽  툿  퉁  퉈  퉜

C6

  00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F

A0

B0

C0

D0

E0

F0

      퉤  튀  튁  튄  튈  튐  튑  튕  튜  튠  튤  튬  튱  트  특

  튼  튿  틀  틂  틈  틉  틋  틔  틘  틜  틤  틥  티  틱  틴  틸

  팀  팁  팃  팅  파  팍  팎  판  팔  팖  팜  팝  팟  팠  팡  팥

  패  팩  팬  팰  팸  팹  팻  팼  팽  퍄  퍅  퍼  퍽  펀  펄  펌

  펍  펏  펐  펑  페  펙  펜  펠  펨  펩  펫  펭  펴  편  펼  폄

  폅  폈  평  폐  폘  폡  폣  포  폭  폰  폴  폼  폽  폿  퐁

C7

  00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F

A0

B0

C0

D0

E0

F0

      퐈  퐝  푀  푄  표  푠  푤  푭  푯  푸  푹  푼  푿  풀  풂

  품  풉  풋  풍  풔  풩  퓌  퓐  퓔  퓜  퓟  퓨  퓬  퓰  퓸  퓻

  퓽  프  픈  플  픔  픕  픗  피  픽  핀  필  핌  핍  핏  핑  하

  학  한  할  핥  함  합  핫  항  해  핵  핸  핼  햄  햅  햇  했

  행  햐  향  허  헉  헌  헐  헒  험  헙  헛  헝  헤  헥  헨  헬

  헴  헵  헷  헹  혀  혁  현  혈  혐  협  혓  혔  형  혜  혠

C8

  00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F

A0

B0

C0

D0

E0

F0

      혤  혭  호  혹  혼  홀  홅  홈  홉  홋  홍  홑  화  확  환

  활  홧  황  홰  홱  홴  횃  횅  회  획  횐  횔  횝  횟  횡  효

  횬  횰  횹  횻  후  훅  훈  훌  훑  훔  훗  훙  훠  훤  훨  훰

  훵  훼  훽  휀  휄  휑  휘  휙  휜  휠  휨  휩  휫  휭  휴  휵

  휸  휼  흄  흇  흉  흐  흑  흔  흖  흗  흘  흙  흠  흡  흣  흥

  흩  희  흰  흴  흼  흽  힁  히  힉  힌  힐  힘  힙  힛  힝

2008/11/25 21:22 2008/11/25 21:22

Translate to English

번역 api에 대한 설명은 이 포스트를 참조하세요...

트랙백 주소 :: http://cybershin.x-y.net/tt/trackback/258

댓글을 달아 주세요

예전에 정리한 바와 같이 python은 C와 연동하기 나름 쉽습니다.

이번에는 마치 pyGtk처럼 다른 큰 library들을 끼고도 잘 되나 실험해봤습니다.

interface와 몸통파일은 다음과 같습니다.

>> cat foo.i
 %module foo
 %{
 extern int foo(void);
 %}
 extern int foo(void);

>> cat foo.c
#include <gtk/gtk.h>
int foo(void) {
    gtk_init(0,0);   
    GtkWidget *window;   
    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
    gtk_window_set_title (GTK_WINDOW (window), "foo" );
    gtk_widget_show (window);
    gtk_main ();

    return 0;
}


그리고 다음과 같이 연결을 해주면 됩니다.

dsp@dsplinux:~/Projects/swig$ swig -python foo.i
dsp@dsplinux:~/Projects/swig$ gcc -c foo.c foo_wrap.c -I/usr/include/python2.5 `pkg-config --cflags gtk+-2.0`
dsp@dsplinux:~/Projects/swig$ ld -shared foo.o foo_wrap.o -o _foo.so `pkg-config --libs gtk+-2.0`

dsp@dsplinux:~/Projects/swig$ ipython
Python 2.5.2 (r252:60911, Jul 31 2008, 17:28:52)
Type "copyright", "credits" or "license" for more information.

IPython 0.8.1 -- An enhanced Interactive Python.
?       -> Introduction to IPython's features.
%magic  -> Information about IPython's 'magic' % functions.
help    -> Python's own help system.
object? -> Details about 'object'. ?object also works, ?? prints more.

In [1]: import foo

In [2]: foo.foo()

위와 같이 foo.foo()를 실행하면 윈도가 잘 뜨는 것을 확인할 수 있습니다.
정말로 pyGtk처럼 하려면 c++스타일로 붙이면 되겠죠.

2008/10/27 17:09 2008/10/27 17:09

Translate to English

번역 api에 대한 설명은 이 포스트를 참조하세요...

트랙백 주소 :: http://cybershin.x-y.net/tt/trackback/253

댓글을 달아 주세요

요즘 회사용 linux PC(ubuntu 8.04 hardy)에 Screenlets(http://www.screenlets.org/index.php/Home)를 깔아 쓰고 있습니다. 그 중에 보면 Slideshow가 있는데요. Slideshow의 기능 중에 Flickr의 공개된 일부 그림들을 볼 수가 있는데요. 이게 URL이 정해져 있어서 좀 답답합니다. 그래서 이걸 좀 다른 Flickr도 쓸 수 있게 바꿔보았습니다.


[Screenlets 화면]

/usr/share/screenlets/Slideshow/SlideshowScreenlet.py를 다음과 같이 수정하면 됩니다. 혹시 python-BeautifulSoup이나 python-image-library가 안 깔려 있다면 설치해야 합니다. 아래 와 같이 수정하면 Flickr로 설정을 변경할 경우, 전지현+김태희 그림이 나오도록 세팅되어있구요. 이걸 바꾸거나 추가하고 싶으면, 파일 제일 앞부분의 FLICKR_URLS = [ ... ] 에 url string을 추가하면 됩니다.

우선 파일 앞부분에 다음을 추가합니다.

FLICKR_URLS = [
    'http://www.flickr.com/search/?s=int&q=%EC%A0%84%EC%A7%80%ED%98%84&m=text',
    'http://www.flickr.com/search/?s=int&q=%EA%B9%80%ED%83%9C%ED%9D%AC&m=text'
]
from BeautifulSoup import BeautifulSoup
import re


그리고 파일 중간 부분의 fetch_image 함수를 다음과 같이 수정합니다. 즉, fetch_image 함수에서 if self.engine1=='Flickr': 부분부터 imageget = urlopen(realimage) 앞까지 쭈욱 갖다 붙이시면 됩니다. 아, 물론 이 사이에 있던 기존 코드는 살짝 주석처리해 주셔야됩니다.

def fetch_image(self):

    ...

     if self.engine1 == 'Flickr':
        #appended by dsp.shin
        source = urlopen( random.choice( FLICKR_URLS) )
        sourcetxt = source.read()

        sources = []
        reals = []
        rPhoto = re.compile('/photos(.*?)')
        soup = BeautifulSoup( sourcetxt )
        hrefs = soup('a', {'href':rPhoto})
        for href in hrefs:
            imgs = href('img', {'class':'pc_img'})
            if len(imgs)>0:
                sources.append( href.get('href') )
                reals.append( imgs[0].get('src') )
        if len(sources)>0:
            index = random.randint(0, len(sources)-1)
            sourceimage = str(sources[index])
            realimage = str(reals[index])
            imageurl = 'http://www.flickr.com' + sourceimage
            self.url = imageurl
        else:
            #not working
            realimage = 'http://creativeclass.typepad.com/thecreativityexchange/images/2007/09/19/menatwork.png'
            self.url = realimage
        #end -- dsp.shin


        imageget = urlopen(realimage)
        ...


ps. 현재는 flickr 검색페이지 결과만 파싱 가능함.
ps2. 괜찮은 연예인 flickr url(or 검색어) 찾으면 댓글로 좀 알려주세요~

2008/08/05 17:06 2008/08/05 17:06

Translate to English

번역 api에 대한 설명은 이 포스트를 참조하세요...

트랙백 주소 :: http://cybershin.x-y.net/tt/trackback/232

댓글을 달아 주세요

주기적으로 mysql db를 백업할 일이 생기는데,
백업 후에 replication을 다시 설정하려면 이쪽저쪽 서버에 접속을 해야합니다.

그러한 이유로 python 상에서 ssh 접속을 어떻게 하나 찾아봤더니,
paramiko라는게 있더군요.

#SSH 접속하기. - by using paramiko
import paramiko
client = paramiko.SSHClient()
client.load_system_host_keys()
client.connect(HOST, username=USER, password=PASSWORD)
stdin, stdout, stderr = client.exec_command('ls -l')
print stdout.read()
client.close()

위의 스크립트를 이용해서 ssh에 접속하고 나머지는 다음의 순서로 해결할 수 있겠습니다.
물론 이건 incremental하게 backup & sync하는건 아니고 통짜로 무쉭하게 할 경우에 대한 이야기입니다.

1. get master-status
2. dump
3. rsync
4. ssh open
4.1 drop db
4.2 import
4.3 slave setup & start
4.4 ssh close

1번에서 master-status를 가져오는건 commands.getoutput()을 이용하면 됩니다.
즉, "Master에 기존 데이터가 있는 상태에서 replication 하기"의 내용을 스크립트로 실행시키는거죠.

2008/04/22 22:41 2008/04/22 22:41

Translate to English

번역 api에 대한 설명은 이 포스트를 참조하세요...

트랙백 주소 :: http://cybershin.x-y.net/tt/trackback/196

댓글을 달아 주세요

MetaWebLogAPI를 사용하면 블로그에 접속하지 않고서도 포스팅을 할 수 있습니다.
python에서는 다음과 같이 간단한 함수 하나만 짜면 되죠.
물론 getPost, editPost도 가능하지만 가장 사용빈도가 높은 newPost만 예로 들겠습니다.

아래의 예는 tistory의 경우입니다.
(물론 환경설정에 가서 blogapi를 활성화 시켜 놓아야 합니다)

다른 블로그 서비스들의 경우도 크게 다르지 않습니다.

def Post( title, description, tags ):
    import xmlrpclib
    tistory=xmlrpclib.Server("http://somewhere.tistory.com/api")
    post={'category': '',
        'title': title,
        'description': description,
        'mt_keywords': tags }
    no=tistory.metaWeblog.newPost("blog ID", "user ID","password", post, True)
    print "posted :",no

       
보다 자세히 xmlrpc에 대해 알고 싶으시다면,
아래 링크에 가서 mark pilgrim님의 글을 읽어보세요.
http://www.xml.com/pub/a/2003/10/15/dive.html
2008/04/04 00:26 2008/04/04 00:26

Translate to English

번역 api에 대한 설명은 이 포스트를 참조하세요...

트랙백 주소 :: http://cybershin.x-y.net/tt/trackback/190

댓글을 달아 주세요

  1. Dsp 2008/04/05 12:44  댓글주소  수정/삭제  댓글쓰기

    트랙백 쏘기를 위한 라이브러리도 있군요~

    http://www.postneo.com/projects/tblib/

ubuntu에서 설치는 synaptic을 이용해서 간단하게 설치가능하니 생략하고...
mod_python을 설치한 후에 enable 시키려면,
/etc/apache2/mods-enabled 폴더에 symbolic link 를 다음과 같이 건다.

mod_python.load -> ../mods-available/mod_python.load

또한 httpd.conf , 혹은 다른 conf file에 다음과 같이 python handler를 지정한다.

<Directory "/python코드의패쓰">
AddHandler python-program .py
PythonHandler test
PythonDebug on
</Directory>

다음과 같이 지정된 경로에 test.py 파일을 생성한다.

from mod_python import apache

def handler(req):
  req.content_type="Text/Plain"
  req.send_http_header()
  req.write("This is a test page...")
  return apache.OK

그리고 apache를 재시작한 후,

sudo /etc/init.d/apache2 restart

이제, 사이트에 접속해 보면 된다.

http://localhost/python/test.py


혹시 php, perl에는 익숙하고 python은 잘 모른다면,
아래 사이트가 유용할 것이다.

http://qna.nu/w/cs/?python=on&php=on&perl=on
2008/04/02 13:00 2008/04/02 13:00

Translate to English

번역 api에 대한 설명은 이 포스트를 참조하세요...

트랙백 주소 :: http://cybershin.x-y.net/tt/trackback/188

댓글을 달아 주세요

python을 쓰다보면 C와 연동할 일이 생기는데,
이럴 때 사용하게 되는 것이 swig입니다.
http://www.swig.org/

다음은 초간단한 c 함수를 만들어서 swig를 이용하여,
python에서 호출을 해 보도록 하겠습니다.
( 이 내용들은 swig tutorial에 있는 내용들을 좀 더 간단하게
제 환경에서 테스트해본 결과입니다. )

~/temp$ vi sample.c
int inc( int a ){
        return a+1;
}

~/temp$ vi sample.i
%module sample
%{
extern int inc(int a);
%}
extern int inc(int a);

~/temp$ swig -python sample.i
~/temp$ gcc -c sample.c sample_wrap.c -I/usr/include/python2.4
~/temp$ ld -shared sample.o sample_wrap.o -o _sample.so

~/temp$ ipython
Python 2.4.3 (#2, Oct  6 2006, 07:52:30)
Type "copyright", "credits" or "license" for more information.

IPython 0.7.1.fix1 -- An enhanced Interactive Python.
?       -> Introduction to IPython's features.
%magic  -> Information about IPython's 'magic' % functions.
help    -> Python's own help system.
object? -> Details about 'object'. ?object also works, ?? prints more.

In [1]: import sample
In [2]: sample.inc(1)
Out[2]: 2

ㅇㅋ!

2008/04/01 18:53 2008/04/01 18:53

Translate to English

번역 api에 대한 설명은 이 포스트를 참조하세요...

트랙백 주소 :: http://cybershin.x-y.net/tt/trackback/187

댓글을 달아 주세요

  1. dalmasian 2008/04/02 08:56  댓글주소  수정/삭제  댓글쓰기

    python에서 C를 호출할 수 있군요~ ^__^
    그러면~ C++를 호출 하려면? 갈켜 주삼

  2. dsp 2008/09/11 16:19  댓글주소  수정/삭제  댓글쓰기

    2.5부터 탑재된 Ctypes
    http://ko.wikipedia.org/wiki/Ctypes

daum에 보면 트렌드 차트라는 서비스를 하고 있다.
왠만한 것들의 트렌드를 알 수 있는 서비스인데,
불행히도 인기가 많은 것들에 대해서만 데이터를 제공해준다.

나는 내 책이 어느 정도 팔렸는지 동향을 알고 싶은데,
이런 정보를 제공해 주는 곳이 없으니 어쩔수 없이 간단하게 스크립트를 짜 돌려보았다.



위의 도표는 아래의 python 코드를 2주일간 돌린 결과를 엑셀로 뿌린 것이다.
아래의 코드는 단순히 파일에 내가 원하는 부분을 덮어쓰는 역할을 하는데,
매일 실행시키려면 linux의 crontab이나, windows의 예약작업을 이용하면 된다.

간단한 코드이므로 자세한 설명은 생략하고 간단하게 설명을 하자면,
해당 url의 페이지를 읽어와서, 내가 원하는 판매지수가 있는 위치의 정보를 what_i_want에 긁어온다.
그리고 그 결과는 'score.txt'에 append한다.

자, 이제 코드 나간다.


import urllib2, time

def getContent( url ):
        req = urllib2.Request( url )
        response = urllib2.urlopen(req)
        return response.read()

if __name__ == "__main__":
        curtime = time.localtime()
        curday = "%d/%02d/%02d"%(curtime[0],curtime[1],curtime[2])
        
        url = 'http://www.yes24.com/Goods/FTGoodsView.aspx?goodsNo=2549646&CategoryNumber=001001003011016'
        content = getContent( url )
        
        startword = '<font color=\'#AFAFAF\'> / </font>'
        endword = '<a'
        startpoint = content.find(startword)
        
        startpoint += len(startword)
        endpoint = content[startpoint:].find(endword)
        
        what_i_want = content[startpoint:startpoint+endpoint]
        score = what_i_want[-5:]
        
        f = open('score.txt','a')
        f.write("%s\t%s\n"%(curday, score))
        
        print "%s\t%s\n"%(curday, score)


BeautifulSoup 등을 사용해서 보다 고상하게 가져올 수도 있지만,
이 경우에는 별로 그럴 필요가 없으므로 무식하게 find를 사용했다. --;


태그 : python, crawl
2007/11/28 23:46 2007/11/28 23:46

Translate to English

번역 api에 대한 설명은 이 포스트를 참조하세요...

트랙백 주소 :: http://cybershin.x-y.net/tt/trackback/125

댓글을 달아 주세요

바로 아래 포스팅한 python 시뮬레이션 코드입니다.
아이템의 스펙을 그대로 따르려고 노력했구요...
그림 그리기는 matplotlib(http://matplotlib.sourceforge.net)를 사용했습니다.
초간단코드이므로, 설명은 없습니다... ㅋㅎ

이 코드에 대한 개요와 결과를 보시려면, 아래 글을 참조하세요.
[WOW] 다크문 진노카드 치명타율 실험 (시뮬레이션)

--- 여기서부터 코드입니다 ---

from pylab import *

def getCriticalStrikeRate( default_critical_strike_percent ):
        nAttCount=0
        nCriCount=0
        pCri = default_critical_strike_percent
        
        while( nAttCount < 10000 ):
                if (rand()*10000)%100 <= pCri:
                        nCriCount+=1
                        pCri = default_critical_strike_percent
                else:
                        pCri += 17/22.1
                nAttCount+=1
 &