본문 바로가기

전체 글

파이썬 스크립트에서 실행옵션 (매개변수) 처리하기 프로그램이던 혹은 간단한 스크립트던, 대부분 실행시킬 때 특정한 옵션을 주게 됩니다. 물론 ls 처럼 아무 옵션 없이 실행할 수 있는 명령어도 있지만, 심지어 ls 조차도 보통 ls -al 같이 옵션을 주고 실행하는 경우가 더 많죠. 파이썬에서 옵션을 처리하는 방법은 아래 두 가지가 있습니다. sys 모듈의 메서드인 argv 사용 optparse 모듈 사용 간단하게 사용할때는 sys.argv 를 사용하는게 간단하고요, 프로그램 내부에서는 인자를 주어진 순서로 구분하게 되는데 사용할 때 실수로 순서를 바꾸어 입력한다던가 하면 생각한 것과 전혀다른 결과가 나올 수 있겠죠? 하지만 인자가 하나인 경우는 굳이 optparse를 쓰지 않고 sys.argv를 사용하는 것이 여러모로 간단할 수 있습니다. 아래 예제에.. 더보기
[애시드] 로니 조단 Ronny Jordan - A Brighter Day "Ronny Jordan" by Source (WP:NFCC#4). Licensed under Fair use via Wikipedia - https://en.wikipedia.org/wiki/File:Ronny_Jordan.jpg#/media/File:Ronny_Jordan.jpg 오늘은 제가 좋아하는 재즈 아티스트 중 한명인 로니 조단을 소개해 볼까 합니다. 우리나라에는 아시는 분만 아는 그런 아티스트 인 것 같은데요 (물론 아시는 분이 생각보다 많을지도) 영국에서는 90년대 애시드 재즈 붐을 주도 했던 , 나름 이 바닥에서는 유명한 분이라고 하네요. 저는 우연히 인터넷 라디오방송에서 몇 번 듣다 보니 좋아서 찾아서 듣게 된 케이스입니다. A Brighter Day는 로니 조단의 2000년도 앨범입니.. 더보기
[파이썬] 텍스트 파일에서 원하지 않는 개행문자 (newline) 삭제하기 인터넷 등에서 내려받은 텍스트 파일을 아마존 킨들같은 e-book리더나, 태블릿 PC에서 볼 때 원치않는 개행문자때문에 엉뚱한 곳에서 행이 나뉘는 경우가 많습니다. 예를 들면 , 스캔해서 OCR로 인식한 문서들의 경우 특정 길이에서 무조건 다음 행으로 넘어가는데 이것이 우리가 보는 ebook리더의 화면 넓이와 맞이 않아서 보기가 좋지 않게 되는 거죠. Calibre 같은 툴을 쓰면 형식변환 뿐 아니라 이런 작업을 해 주기도 하는데, 아무래도 로직을 마음대로 만질 수가 없어서 제가 간단한 파이썬 스크립트를 만들어 보았습니다. 간단한 스크립트이므로 필요에 따라 로직을 얼마든지 수정할 수 있습니다. 123456789101112131415161718192021import sys fr=open(sys.argv[1.. 더보기
유밍 앨범소개 첫번째 : sweet,bitter sweet〜YUMING BALLAD BEST 지난 번 소개드렸던 아티스트 "마츠토야 유미" 는 일본에서 약칭 "유밍" 으로 불리기도 합니다. 지난 번 포스트에서 말씀드린 대로 유밍의 앨범들을 소개하려 하는데요, 발매순대로 포스팅해볼까 하다가 그것보다는 제가 들어 본 순서대로 올려보는 것이 더 좋을 것 같아 베스트 앨범을 먼저 소개해 봅니다. 이 앨범 "sweet,bitter sweet〜YUMING BALLAD BEST" 은 제목에도 씌여 있듯이 그냥 베스트 앨범이 아니라 "발라드" 베스트 앨범입니다. 유밍의 곡들 중에서 인기 있는 발라드 곡들을 모아 놓은 앨범이죠. 저는 이 앨범을 비오는 날 차에서, 아니면 커피숍에서 차를 한잔 마시며 천천히 내리를 비를 바라보며 들으면 잘 어울릴 것 같네요. 아니면 함박눈이 내리는 겨울밤, 눈이 모든 소리를 흡수.. 더보기
엑셀의 vlookup 기능을 리눅스에서? awk! 사무실에서 MS 엑셀로 데이터 작업을 할 때, 상당히 자주 쓰게 되는 기능이 vlookup 기능입니다. vslookup 기능에 대해서 간단하게 설명을 드리면, 두 개의 테이블을 만들고 하나의 테이블의 참조값을 이름으로 찾아서 두 번째 테이블에 자동으로 넣는 기능이라고 할 수 있겠네요. 예를 들면, 학생 명부 테이블과 우편번호 테이블이 있고, 학생명부에 주소를 입력하면 그 주소를 우편번호 테이블에서 찾아서 (lookup) 자동으로 학생명부에 우편번호가 들어가게 하는데 쓸 수 있는 함수입니다. 엑셀의 vlookup에 대해서는 여러 블로그에 상세하게 설명되어 있느니 관심있으신 분은 한번 찾아서 읽어보시면 좋을 것 같습니다. 엑셀에서는 vlookup으로 편하게 작업이 가능한데, 만일 리눅스 환경에서 텍스트 파일.. 더보기
리눅스에서 왜 unzip * 하면 안될까? 리눅스/유닉스 환경에서 어떻게 보면 가장 남용되는 기능이 shell wildcard (*) 인것 같습니다. 저도 회사에서 어떤 분이 실수로 root 계정으로 rm -rf * 을 실행시켜서 (그것도 루트 디렉토리에서!) 시스템을 날려먹은 걸 본 적이 있으니까요. 경력이 쌓이고 내공이 있는 관리자일수록 wildcard의 무분별한 사용을 지양하는 것을 보면, 편리하지만 그만큼 위험할 수 있는 것이 와일드카드인것 같네요. 서문이 길었는데, 초보 시스템 관리자가 리눅스 환경에서 당황하는 경우 중 하나가 디렉토리에 zip 압축파일이 많은 경우 unzip * 아니면 unzip *.zip 했는데 다음과 같이 나올 때 입니다. $ ls a.zip b.zip $ unzip *.zip Archive : a.zip cauti.. 더보기
Tar 명령어로 쉽게 디렉토리 복사하기 (원격, 로컬) 유닉스나 리눅스 시스템 관리자들은 아마 다들 알고 계신 내용이겠지만 한번 정리해 봅니다. 파일 시스템 간에 디렉토리 구조 및 소유자(ownership), 권한 (permission) , timestamp 등 속성을 그대로 유지한 채로 복사하는데 tar 를 아래처럼 사용합니다. cd /복사원본디렉토리 tar cf - * | (cd /복사할디렉토리; tar xfp -) 명령어의 파이프(|) 전의 앞부분에서는 복사원본을 아카이브로 생성시키는데, 파일로 쓰는 대신에 standard out 으로 아카이브를 출력합니다. ( cf 다음에 오는 - 의 의미가 standard output 입니다) 앞 부분의 tar가 생성시킨 아카이브가 stadnard output을 통해 파이프로 전달되고, 해당 내용을 받아서 타겟 디렉.. 더보기
일렉트로닉 + 보사노바 = ? 보사쿠카노바 "Bossacucanova" 브라질이라고 하면 어떤 이미지가 떠오르시나요?보통 삼바, 축제, 정열, 리오데자네이로, 범죄(?) 뭐 이런 이미지가 아닐까 합니다.그래서 브라질 음악이라고 하면 왠지 미친듯(?) 흔들면서 춤을 춰야 할 것 같은 이미지도 있고요..그런데 막상 브라질 음악들을 들어보면, 의외로 다양한 장르의 음악들이 있다는 것에 놀라게 되고요, 또 서정적이고 아름다운 멜로디의 음악들이 많아서 우리나라 정서에도 잘 맞는 것 같아요.하지만 우리나라에서 브라질 음악의 존재감은 거의 없는것 같아 아쉽기도 합니다. 오늘은 제가 좋아하는 브라질 그룹 "Bossacucanova" 를 한번 소개해 볼까 합니다.애플 라디오에서 우연히 듣게 되었다가 좋아하게 된 그룹인데요, 전통적인 보사노바에 일렉트로닉음악을 가미한 신세대(?) 보사노바 그.. 더보기