본문 바로가기

분류 전체보기246

[05] 하위디렉토리 검색 자신의 PC에서 특정 파일만을 찾아내어 특정 문장이 포함되어 있는 부분을 다른 문구로 수정하여 저장해야 한다고 생각해 보자.(이와 비슷한 상황은 실제 업무에서 매우 빈번하게 발생한다.) 파이썬 프로그래머라면 일일이 파일을 찾은 후에 파일을 열어서 수정한 후에 다시 저장하는 행위를 반복하는 어리석은 짓은 하지 않을 것이다. 다음의 소스를 보자. import os def search(dirname): flist = os.listdir(dirname) for f in flist: next = os.path.join(dirname, f) if os.path.isdir(next): search(next) else: doFileWork(next) def doFileWork(filename): ext = os.pat.. 2012. 4. 23.
리스트 리스트 (List) 지금까지 우리는 숫자와 문자열에 대해서 알아보았다. 하지만 이러한 것들로 프로그래밍을 하기엔 부족한 점이 많다. 예를 들어 1부터 10까지의 숫자들 중 홀수들의 모임인 1, 3, 5, 7, 9라는 집합을 생각해 보자. 이것들을 숫자나 문자열로 표현 하기는 쉽지가 않다. 파이썬에는 이러한 불편함을 해소 할 수 있는 자료형이 존재한다. 그것이 바로 이곳에서 공부하게 될 리스트라는 것이다. 리스트를 이용하면 1, 3, 5, 7, 9라는 숫자의 모임을 다음과 같이 간단하게 표현할 수 있다. >>> odd = [1,3,5,7,9] 리스트를 만들 때는 위에서 보는 것과 같이 대괄호([ ])로 감싸주고 안에 들어갈 값들은 쉼표로 구분해준다. 여러 가지 리스트의 생김새를 살펴보면 다음과 같다. >>.. 2012. 4. 23.
[04] 12345라는 숫자를 12,345처럼 바꾸기 [04] 12345라는 숫자를 12,345처럼 바꾸기 이 스크립트는 숫자를 나타내는 문자열을 입력받아서 읽기 편한 형식인 123,456처럼 콤마가 섞인 숫자로 바꾸어서 돌려주는 함수이다. # commanumber.py import string def comma_number(number): if number[0] in ['+', '-']: sign_mark, number = number[:1], number[1:] #처음 요소부터 첫번째 요소까지, 첫번째 요소부터 끝까지 else: sign_mark = '' try: tmp = string.split(number, '.') num = tmp[0]; decimal = '.' + tmp[1] except: num = number; decimal = '' hea.. 2012. 4. 23.
파일 읽고 쓰기 (Reading and Write Files) open()함수는 file 객체를 return 해주는 함수이며, 대부분 매개변수는 두개(filename, open mode) 입니다. ? 1 2 >>> f = open('/tmp/workfile','w') # 윈도우에서는 폴더구분을 \(역슬래쉬)로 하지만 윈도우 파이썬은 # \(역슬래쉬)가 아닌 /(슬래쉬)를 사용합니다. 첫번째 매개변수는 파일이름을 포함한 스트링 입니다. 두번째 매개변수는 파일을 열때 어떤 모드로 열 것인지 설정해주는 값이며, 종류는 아래와 같습니다. r Read Only w Write Only a Appending (뒤에 이어 붙이기) r+ Read And Write b Binary Mode 보통 파일들은 텍스트 모드로 열게 됩니다. 이 뜻은 파일을 읽고 쓸때 스트링으로 처리가 되며 .. 2012. 4. 23.