파이썬(python) – 표준모듈 사용하기 [첫번째] : os, sys 모듈
이번 시간부터는 앞으로 python 을 사용하시면서 가장 많이 import 하게 될 모듈들을 차례대로 살펴보겠습니다.
언급하는 모듈들에 어떤 기능들이 숨겨져있나를 보시려면 import module_name 하시고 dir(module_name)로 확인하시면 됩니다.
(1) os 모듈 : os 에서 제공하는 기본적인 기능들을 묶어놓은 것
# os 모듈 import # 현재 working directory 가져오기 # 내 process id 가져오기 # current working directory 를 변경 # working directory 확인 # os.path 라고 쳐보니 모듈이라고 나오네요. # 모듈은 또한 기능의 집합이죠. # 인자로 주어지는 이름이 directory 인가 ? # directory 변경 # 현재 directory 의 directory list 를 보여줌 |
os 모듈은 파일, 프로세스 등과 관련되어 os 에서 제공하는 기능들을 모두 망라한 모듈입니다. 가장 사용할 일이 많죠.
그런데, 위의 테스트 과정을 보니 os.path 라는 모듈이 또 있네요 ?
즉, os 라는 모듈안에 path 라는 모듈이 또 들어있군요.
이렇게 모듈안에 또 다른 모듈이 포함될 수도 있다는 것을 알아두시기 바랍니다.
아래에서 살펴볼 sys 모듈도 사실은 os 모듈안에 포함되어 있습니다.
못믿으시겠다면 확인해볼까요 ?
먼저 아래와 같이 dir 을 통해 os 에서 나오는 리스트를 확인해 보세요. 혹시 sys 라는 이름이 나오지 않나요 ? 그리고, help(os.sys)라고 쳐보면 build-in module 이라고 나올 것입니다.
>>> import os |
아래 것도 수행해보세요. sys 와 os.sys 가 같다는 확인사살이죠. ^^
>>> sys is os.sys |
(2) sys 모듈 : python interpreter 와 관련된 정보와 기능을 제공
sys 모듈에서 가장 많이 사용하는 예를 몇가지만 보여드리겠습니다.
>>> import sys # 명령어 라인 인자 (command line arguments) 리스트 # 표준출력(stderr) 로 에러 찍기 # 프로그램 빠져나가기 # 현재 로딩되어 있는 모듈을 dictionary 로 보여줌 # 현재 환경변수 PATH 잡혀있는 directory list 확인 |
특히 sys.argv 를 많이 사용하는데 c 나 c++ 처럼 인자하나하나를 접근하고 싶을 때는 sys.argv[0], sys.argv[1] 과 같이 사용하시면 됩니다.
그리고, 표준출력 관련하여 stderr 대신에 stdin, stdout 을 사용하실 수 있습니다.
이제 위에서 배운 것들을 살짝 이용하여 프로그램을 하나 작성해볼까요 ?
interpreter 상에서 수행할 수 있는 명령어는 모두 파일로도 작성 가능하니 프로그램을 짜기가 쉽습니다.
import os |
위의 코드를 한줄한줄 해석한 후 한번 실행해보세요. python file.py dir_name 과 같이 실행하면 됩니다.
다음 시간에는 또 다른 유용한 모듈들을 계속해서 배워보겠습니다.