Python
2014.05.20 14:18

Python 유용한 코드 모음

조회 수 15206 댓글 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
번호 분류 제목 날짜 조회 수 추천 수
251 C# C# XML Documentation - C# 소스코드 문서화 [출처] C# XML Documentation - C# 소스코드 문서화 2013.10.01 14677 0
250 Android adb monkey script 2014.07.30 14753 0
249 C# AutoResetEvent 클래스 - 신호(Signal)에 의한 쓰레드 동기화 2013.08.14 14762 0
248 일반 장치관리자 실행 명령어 2013.08.05 14873 0
247 일반 CMD 창에서 ALIAS 사용하기 2012.09.19 15000 0
246 LINUX 리눅스 커널리빌딩, 버젼확인, ctags명령, vi편집기활용, 기본명령 2012.05.07 15005 0
245 C# TreeView의 rootnode(TreeNode)에서 하위 항목 찾기 2015.09.21 15094 0
244 C# 에디트 박스 제일 밑으로 스크롤 하기 2012.08.21 15133 0
243 LINUX KScope 사용법 2012.04.23 15173 0
242 일반 DOSKEY 명령어 사용법 2012.09.19 15189 0
241 LINUX ls 명령어 옵션 1 file 2012.11.27 15202 0
» Python Python 유용한 코드 모음 2014.05.20 15206 0
239 C# Visual C# 에서 XP 테마 적용하기 2012.05.21 15226 0
238 개념 Symmetric Multiprocessing (대칭형 멀티 프로세싱 : SMP) 2013.03.26 15226 0
237 개념 SPDY(스피디) : 더 빠른 웹을 위한 실험적인 프로토콜 2012.08.21 15238 0
목록
Board Pagination ‹ Prev 1 ... 13 14 15 16 17 18 19 20 21 22 ... 34 Next ›
/ 34

나눔글꼴 설치 안내


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

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

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5