http://bbs.python.or.kr 에서 더욱 많은 정보를 얻을 수 있습니다.
pickle을 이용해서 객체 저장하기
List 정렬하기
오름 차순으로 정렬할 때 : 1->2->3->...
내림 차순으로 정렬할 때 : 3->2->1->...
List
- Filtering 하기
[2, 18, 9, 22, 17, 24, 8, 12, 27] 에서 3으로 나눠서 0이 되는 것만 list로 만들기
[18, 9, 24, 12, 27]
- 새 rule을 list에 적용해서 새로운 list 만들기
[2, 18, 9, 22, 17, 24, 8, 12, 27] 에서 각 member * 2 + 10의 값으로 list를 새로 만들기
- 모두 더한 값 출력
[2, 18, 9, 22, 17, 24, 8, 12, 27] 를 모두 더한 결과를 출력한다.
- 각 member를 tab으로 붙인 값 출력
1 print "\t".join(map(str,["hi","jae-seong"]))
- y라는 list에서 x에 해당하는 index를 갖는 값을 한꺼번에 갖고오기.
- list의 member들 끼리 그룹으로 묶기
결과 : [(1, 0), (2, 2), (3, 12), (4, 20)]
- list의 member들 끼리 그룹으로 묶은 뒤, b에 해당하는 값이 10 이상인 녀석들만 뽑기
결과 : [(3, 12), (4, 20)]
Pipe
- python pipe read
sys.stdin.read() sys.stdin.readline() sys.stdin.readlines()
filter와 lambda 예제
- 디렉토리의 aln 확장자를 갖는 파일들을 읽어서 '_' 앞의 숫자를 1씩 줄여서 이름을 다시 붙임.
- 화일 이름 바꾸기 Script
Swissprot sequence 파일 읽기
- Swissprot sequence 파일을 읽어서 entry를 각각 파일로 저장
1 import os
2 from Bio.SwissProt import SProt
3 from sys import *
4
5 fh = open(argv[1])
6 sp = SProt.Iterator(fh, SProt.RecordParser())
7
8
9 while 1:
10 record = sp.next()
11 if record is None:
12 break
13 file = open("swissprot//"+record.entry_name,"w")
14 file.write( ">" + record.entry_name + "\n")
15 file.write( record.sequence )
16 file.close()
17 fh.close()
파일 읽기
UnicodeEncodeError: 'ascii' codec can't encode character u'\ucc44' in position 105: ordinal not in range(128) 과 같은 오류시 대처 방안 ==> http://www.amk.ca/python/howto/unicode
파일 쓸 때
파일 읽을 때
- 한줄로 readme.txt를 빼고 나머지 txt확장자를 갖는 파일 리스트 갖고 오기
1 [ x for x in glob.glob("*.txt") if x != "readme.txt" ]
- 디렉토리에서 *.fasta 파일을 갖고 오기
Python 프로그램 default format
- python 프로그램 default format
python command output 받기
python generator example
1 hprd_entries = list(x[:x.find("|")] for x in fasta.keys())
python string 출력 formatting
- 자신도 포함해서 5번째 칸 까지 출력하고 싶다면
1 print "|%5s|" % "hi"
- 자신 부터 5번째 칸까지 출력하고 싶다면
1 print "|%-5s|" % "hi"
Automation
Win32Com
- 현재 activation된 window에 text 써 넣기
Win32Clipboard
- 클립보드에서 text 갖고 오기
- 클립보드에 있는 내용에서 중복 없애기 (line 별로)