튜기's blogggg

sys 모듈

by St1tch

 sys모듈은 파이썬 인터프리터와 관련된 정보와 기능을 제공하는 모듈이다.

 

sys.argv

 

파이썬 스크립트로 넘어온 입력인자(argument)들의 리스트.

- 아래 예제와 같이 0번째는 스크립트 이름이 있으며, 그 이후부터 인자들이 설정

[ test_argv.py 예제코드 ]

import sys

print("argv size :"len(sys.argv))

for i, arg in enumerate(sys.argv):

        print(i, arg)

 

[ 실행 결과 ]

>test_argv.py arg1

argv size : 2

0 C:\Python30\test_argv.py

1 arg1

 

 

sys.exc_info()

 

현재 발생한 예외정보를 튜플로 반환 (예외가 없는 경우 None을 반환)

[ 예외가 없는 경우 ]

>>> import sys

>>> sys.exc_info()

(None, None, None)

 

[ 예외가 발생한 경우 ]

>>> try:

    1/0

except:

    exc_class, val, tb_ob = sys.exc_info()

    print(exc_class)

    print(val)

    print(tb_ob)

    print(dir(tb_ob))

    print(tb_ob.tb_lineno)

 

    

<class 'ZeroDivisionError'>

division by zero

<traceback object at 0x00FFAAF8>

['tb_frame', 'tb_lasti', 'tb_lineno', 'tb_next']

2

 

 

sys.prefix, sys.exec_prefix, sys.executable

 

파이썬이 설치된 경로와 실행파일을 나타냅니다.

>>> sys.prefix  # 파이썬이 설치된 경로

'C:\\Python3'

 

>>> sys.exec_prefix

'C:\\Python3'

 

>>> sys.executable  # 파이썬 인터프리터의 실행파일 경로

'C:\\Python3\\pythonw.exe'

 

sys.exit([arg])

 

프로세스를 종료시킵니다. (arg가 0인 경우에는 정상 종료되며, 0이 아닌 경우에는 비정상종료 처리)

 

sys.getrefcount(object)

 

객체의 참조 카운트 값을 반환합니다. 

일반적으로 이 값은 임시객체가 참조하는 경우도 포함되어서 1보다 크다.

>>> t = "test refcount"

>>> sys.getrefcount(t)

2

>>> t1 = t

>>> sys.getrefcount(t)

3

 

sys.getwindowsversion()

 

현재 윈도우의 버전을 튜플로 반환.

>>> sys.getwindowsversion()

sys.getwindowsversion(major=5, minor=2, build=3790, platform=2, service_pack='Service Pack 2')

 

sys.modules

 

현재 로딩되어있는 모듈들을 사전 형태로 나타냅니다.

>>> sys.modules

{'heapq': <module 'heapq' from 'C:\Python3\lib\heapq.py'>, 'tkinter.filedialog':

<module 'tkinter.filedialog' from 'C:\Python3\lib\tkinter\filedialog.py'>, 'functools':

<module 'functools' from 'C:\Python3\lib\functools.py'>, 'random': <module

'random' from 'C:\Python3\lib\random.py'>, ...<생략>...

 

sys.path

 

모듈을 찾을 때 참조하는 경로를 나타냅니다.

>>> sys.path

['C:\\Python3\\Lib\\idlelib', 'C:\\WINDOWS\\system32\\python32.zip',

'C:\\Python3\\DLLs', 'C:\\Python3\\lib', 'C:\\Python3', 'C:\\Python3\\lib\\site-packages']

 

sys.copyright, sys.version

 

설치된 파이썬의 저작권, 버전을 나타냅니다.

>>> sys.copyright

'Copyright (c) 2001-2011 Python Software Foundation.\nAll Rights Reserved.\n\nCopyright

(c) 2000 BeOpen.com.\nAll Rights Reserved.\n\nCopyright (c) 1995-2001 Corporation for

National Research Initiatives.\nAll Rights Reserved.\n\nCopyright (c) 1991-1995

Stichting Mathematisch Centrum, Amsterdam.\nAll Rights Reserved.'

 

>>> sys.version

'3.2.2 (default, Sep 4 2011, 09:51:08) [MSC v.1500 32 bit (Intel)]'

 

sys.getdefaultencoding()

 

현재 사용중인 기본 문자열 인코딩을 반환합니다.

>>> sys.getdefaultencoding()

'utf-8'

 

sys.stdin, sys.stdout, sys.stderr

 

표준 입력, 출력, 에러 스트림에 대응되는 파일 객체들을 나타냅니다.

>>> sys.stdout.write("hi python") # 표준 출력 스트림

hi python

>>> sys.stderr.write("hi python") # 표준 에러 스트림

hi python




출처 : http://devanix.tistory.com/300

 

블로그의 정보

튜기's blogg(st1tch)

St1tch

활동하기