01 파이썬(Python) 팁

원문 : http://kkamagui.springnote.com/pages/391699

 

들어가기 전에...

 

리스트(List) 팁

  • list.append( x ) : 리스트의 마지막에 x 추가
  • list.sort() : 리스트 정렬
  • list.reverse() : 리스트 뒤집기
  • list.index( x ) : x가 있는 인덱스를 표시
  • list.remove( x ) : 리스트에서 제일 처음 나온는 x를 제거
  • list.pop() : 리스트의 맨 마지막 요소를 반환하고 제거 
    • list.pop( i ) : 리스트의  i 번째를 반환하고 제거
  • list.count() :  리스트의 아이템 개수를 반환
    • list.count( x ) : 리스트에 존재하는 x의 개수를 반환
  • list.extend( x ) : 리스트의 끝에 x를 확장

 

C 타입(type)의 변수 할당 및 DLL 사용

 ctypes라는 기본 라이브러리를 사용하면 C Style의 변수와 포인터를 사용할 수 있다. 크아~ 멋지다 @0@)/~!!

  1. from ctypes import *
    import ctypes
  2. # c 런타임 라이브러리를 가지고 있음
    libc = cdll.msvcrt;
  3. buffer = ctypes.c_buffer( 4096 );
    libc.memcpy( buffer, intAddress, 4096 );
  4. # 아래와 같이 DLL을 찾고 DLL에서 함수를 얻어오는 것도 가능
  5. dll = windll.LoadLibrary( dllName );
    functionAddress = dll.GetProcAddress( dll._handle, functionName );

 

if __name__ == "__main__"의 의미

 __name__은 현재 모듈의 이름을 가지고 있는 전역 변수이다. "python a.py" 와 같이 실행되는 경우 __name__의 값은 __main__ 이 된다. 하지만 import a.py 와 같이 사용될 경우 __name__ 의 값은 a가 된다.

 따라서 쉘로 실행되는 경우 실행해야 할 루틴이 있으면 아래와 같이 사용하면 된다.

  1. if __name__ == "__main__" :
    1. print "이것은 쉘로 실행되었을때 호출되는 루틴입니다"; 

 

모듈(Module)을 사용하는 여러가지 방법

  • import a : a.py에 있는 모듈들을 사용한다. a.xxx() 와 같은 방식으로 접근 가능하다.
  • from a imprt XXX, YYY :  a.py에 있는 모듈들 중에 XXX, YYY 함수를 쓴다. XXX(), YYY() 로 접근 가능하다.
  • from a import * : a.py 에 있는 모든 모듈을 쓴다.

 

하드디스크에 있는 오브젝트(Object) 파일 지우기

 참고 : http://docs.python.org/lib/os-file-dir.html

  1. # -*- coding: cp949 -*-
    import os;
    ExtList = [ '.obj', '.idb', '.o', '.pdb', '.scc', '.ilk', '.pch' ];

    buf = '';
    ext = '';
    for p, ds, fs in os.walk('d:\\'):
        #for d in ds:
        #    print os.path.join(p, d);
           
        for f in fs:
            buf = os.path.join(p, f);
            for i in ExtList :
                if len( f ) > len( i ) :
                    ext = buf[-len( i ) : ];
                    if ext.upper() == i.upper() :
                        print buf;
                        os.remove( buf );

 

 

이 글은 스프링노트에서 작성되었습니다.

+ Recent posts