본문 바로가기
Python/Python Library

sys 모듈

by 가므자 2012. 4. 23.

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

'Python > Python Library' 카테고리의 다른 글

파일 읽고 쓰기 (Reading and Write Files)  (0) 2012.04.23
re 모듈  (0) 2012.04.20
sys.argv  (0) 2012.04.20

댓글