Python
2014.05.20 14:18

Python 유용한 코드 모음

조회 수 15131 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print
http://sweeper.egloos.com/m/3043544


1. 경로의 모든 하위 디렉토리 검색

  1. # os.walk를 이용한 방식이 젤 간단하고 빠르다.
  2. for root, sub_dirs, files in os.walk(path):
  3.     # 모든 파일에 대해...
  4.     for fname in files:
  5.         # 특정 확장자인 경우 (os.path.splitext 함수 좋다)
  6.         ext = (os.path.splitext(fname)[-1]).lower()
  7.             if ext == ".vcxproj":


2. 특정 디렉토리의 파일 리스트

  1. import glob
  2.  
  3. # C:/Python/ 디렉토리의 모든 파일 목록
  4. list = glob.glob("C:/Python/*")
  5.  
  6. # C:/Python/ 디렉토리의 Q로 시작하는 파일 목록
  7. list = glob.glob("C:/Python/Q*")
  8.  
  9. # C:/Python/ 디렉토리의 확장자 .py 파일 목록
  10. list = glob.glob("C:/Python/*.py")


3. 리스트 랜덤 셔플

  1. # sorted - element가 정수형일 때
  2. import os
  3.  
  4. list = [1,2,3,4,5]
  5. # sorted 함수는 셔플된 리스트를 반환, 원래 리스트는 변경하지 않는다
  6. list = sorted(list, key=os.urandom)
  7.  
  8. # sorted - element가 user-defined 타입일 때
  9. import random
  10.  
  11. class Test:
  12.     def __init__(self, id):
  13.         self.id = id
  14.  
  15. = Test(1)
  16. = Test(2)
  17. = Test(3)
  18. list = [a,b,c]
  19.  
  20. list = sorted(list, key=lambda *args: random.random())
  21.  
  22. # random.shuffle() - 모든 타입 가능, random.shuffle이 젤 나은 듯
  23. import random
  24.  
  25. list = [1,2,3,4,5]
  26. # random의 shuffle 함수는 반환값이 없고, 리스트 자체를 변경한다.
  27. random.shuffle(list)


4. int / int = float?

파이썬의 경우 정수를 정수로 나누면 그 결과가 정수형이 되는데,
이를 실수형으로 반환하고 싶을 때 아래와 같이 __future__ 모듈의 division 기능을 임포트하면 된다.

  1. # 정수형을 정수형으로 나눈 결과를 실수형으로
  2. # __future__ 모듈의 division 함수 임포트
  3. from __future__ import division
  4. = 5/2         # c = 2.5


5. swap

  1. = 1
  2. = 2
  3.  
  4. # swap
  5. a,= b,a


6. XML 인덴트 강제 조정

  1. def apply_indent(elem, level = 0):
  2.     # tab = space * 2
  3.     indent = "\n" + level * "  "
  4.     if len(elem):
  5.         if not elem.text or not elem.text.strip():
  6.             elem.text = indent + "  "
  7.         if not elem.tail or not elem.tail.strip():
  8.             elem.tail = indent
  9.         for elem in elem:
  10.             apply_indent(elem, level+1)
  11.         if not elem.tail or not elem.tail.strip():
  12.             elem.tail = indent
  13.     else:
  14.         if level and (not elem.tail or not elem.tail.strip()):
  15.             elem.tail = indent

Dreamy의 코드 스크랩

내가 모으고 내가 보는

List of Articles
번호 분류 제목 날짜 조회 수 추천 수
281 Android L버전 32/64bit tip 및 multi user 관련 adb 명령어 2014.11.18 8389 0
280 LINUX shell 에서 background로 명령어 수행하기 2014.11.11 37000 0
279 LINUX 리눅스에서 특정작업 or 명령어 반복하기 Crontab 2014.11.10 10289 0
278 LINUX [Shell Script] 쉘 스크립트에서 getopt 사용하는 법 2014.11.09 16903 0
277 LINUX [Shell Script] 쉘 스크립트에서의 사칙연산과 문자열 자르기 2014.11.01 81741 0
276 C# C# 배열 array 2014.10.22 12512 0
275 Android 에러 넘버 ErrorNo in Linux 2014.10.14 9292 0
274 일반 배치파일(bat)에서 날짜-시간을 파일 명으로 쓰기 2014.10.10 29193 0
273 Android logcat, main+kernel로그 합치는 로그 2014.10.07 10306 0
272 LINUX [Shell Script] 파일을 한줄씩 읽어오기 2014.10.03 56359 0
271 LINUX [Shell Script] Shell 스크립트에서 매개변수 치환 2014.09.23 29613 0
270 LINUX [Shell Script] 쉘 스크립트 개요 2014.09.23 27948 0
269 LINUX [Shell Script] 리눅스 쉘(Shell) 스크립트 2014.09.23 86756 0
268 LINUX [Shell Script] 글자 속성, 색깔 지정 2014.09.23 32027 0
267 Android tag 없이 repo sync 후 특정 tag 만 당겨오기 2014.09.18 11362 0
목록
Board Pagination ‹ Prev 1 ... 11 12 13 14 15 16 17 18 19 20 ... 34 Next ›
/ 34

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5