Passion/Python 81

python multiprocess 프로그래밍 구조

thread가 하나의 프로세스를 나눠 쓰는 개념이라면 multiprocess는 다중 코어를 사용하는 방법이다. python multiprocess module 프로그램밍의 구조는 from multiprocessing import Process import os def pinfo(title): output = "Module name: %s\n" % title output += "Parent process:%s\n" % os.getppid() output += "Process id:%s\n" % os.getpid() return output def collector(args): print pinfo("collector") print "args:%s\n" % args def console(args): whil..

Passion/Python 2011.05.04

Centos 5.4에서 Python2.6 설치하기

Centos가 업데이트가 좀 늦은 편인거 같다. Centos 5.4 버전이 Python 2.4 라니 ㅡ.ㅡ 그래서 python2.6으로 업데이트 하는 것을 찾다 보니, 소스 컴파일해야 한다는 등 귀찮은 말들이 많던데 다행이 패키지로 설치하는 방법이 존재했다 ~~ 휴 1. /etc/yum.repos.d 디렉토리에 http://mirrors.geekymedia.com/centos/geekymedia.repo 파일을 저장한다 2. Python 설치하기 yum install python26 3. 사용하기는 /usr/bin/python2.6 소스코딩시에는 #!/usr/bin/python2.6

Passion/Python 2011.02.01

프로젝트 : myagent

이전에 만든 건에 정리를 한다. 실행예제) http://mypoint.tistory.com 실행방법: python myagent.py keyword.xml 개요: myagent는 naver나 daum 의 openapi를 이용하여 원하는 뉴스나 카페 글을 검색하여 나의 블로그 홈페이지에 자동으로 포스팅 해주는 시스템이다. 말 그대로 블로그 비서이다. ㅋㅋ 방법: 1) 검색 키워드를 가지고 openapi를 이용하여 naver 또는 daum에서 검색을 한다. 2) 받은 내용을 metaweb blog 형식으로 변환하여 블로그에 포스팅 한다. 구현: 1) 환경 설정 keyword.xml 파일 ~ keyword.xml 파일은 두가지의 내용을 담고 있다. ~ 첫째는 네이버에서 어떤 단어를 어떻 카테고리(news, c..

Passion/Python 2009.12.11

subprocess를 이용한 프로세스 관리

Python에서 새로운 프로세스를 실행하고 관리해야 할 필요가 있다. 이런 경우를 위해서 subprocess 란 것이 존재한다. 예를 들어 main 프로그램에서 "abc.py" 라는 파일을 실행하고 싶을 때는 실제 실행 명렁어가 다음과 같다면 python abc.py -H 123 -L debug 이를 subprocess를 이용해서 실행하고 죽는 것은 예제 (Language : python) import subprocess cmd = ["python","abc.py","-H","123","-L","debug"] #명령어를 리스트로 나열 # 프로세스 실행 p1 = subprocess.Popen(cmd, shell=False) # PID 보기 print p1.pid # 프로세스 죽이기 p1.kill() 이렇게..

Passion/Python 2009.11.20

데비안 Python 패키지 만들기

데비안에서 Python 패키지를 만들때 고려해야 하는 사항 핵심: site-package, dist-package 에 파일을 복사하는 것으로 끝이 아니다. 어떤 패키지들이 어떤 python 버전에 설치되었는지를 나타내는 메타파일을 /usr/lib/pyshared-data/ 밑에 명시해 주어야 한다. /usr/lib/pyshared-data/python-libvirt 파일 [python-package] format = 1 python-version = 2.6 [pycentral] version = 0.6.11 include-links = 0 [files] /usr/local/lib/python2.6/site-packages/libvirt.py=f /usr/local/lib/python2.6/site-pac..

Passion/Python 2009.11.16

Python encoding 관련

utf-8 파일을 읽을 때 import codecs fileObj = codecs.open( "someFile", "r", "utf-8") u = fileObj.read() # 파일에 있는 UTF-8 바이트 들이 유니코드 문자열로 넘어옴 euc-kr 을 utf-8로 인코딩 할 때 hanguel = unicode('한글', 'euc-kr').encode('utf-8') utf-8 을 euc-kr로 인코딩 할 때 unicode(filename).encode('euc-kr') 윈도우 Python은 euc-kr 인코딩을 가정하고 있고, pyqt4 와 같은 프로그램은 utf-8을 기본으로 가정 따라서 Python 과 PyQt 간의 인코딩을 맞춰줘야 한다.

Passion/Python 2009.10.26