Font size: +

표준 Python OS 인터페이스

os는 최상위 네임스페이스였네용. 안에 또 모듈이 들어있음.

houdini의 최상위 모듈은 hou인것처럼...


닷넷의 system이 최상위이고,,

system.net system.console 뭐 이렇게 하위 모듈로 또 나뉘어집니다.

os모듈에서는 무엇을 하냐면
파이썬이 돌아가고있는 로컬 해당 운영체제(windows,unix,linux,macosx등.)의 인터페이스 객체와
관련된 상수객체(해당 운영체제의 환경변수나 윈도우는 레지스트리 정보같은...)정보 를 제공해유.

 

os모듈을 이용해서 짜는 프로그램 내부에 파일관련한 네임을 사용할때는 경로 땜시 조금 주의를 기울여야해요(이건 닷넷도 마찬가지고 자바도 마찬가지에요)
그래서
os.path 모듈,안에는 파일Type 테스트하는 기능이 있어서 그걸로 경로객체를 잘 처리하는 코드를 작성해야해주세용.
그외, 디렉토리 경로 조작~관련 기능을 구현할수있어요. os모듈안에는 os.makedirs()라는 경로 모듈이 있어염.


여기서 !잠깐!
후디니에서 그에대한 비슷한 코드를 만들어주는...
HOM introduction 에서 나오는 hou.node(경로) 재귀함수를 더 단순하게 래핑해보았습니다.
b2ap3_thumbnail_fff.png
사용법은 저 코드를 후디니 파이썬 콘솔에서 돌리시공,
그냥 ls('/') 이렇게 하면 현재 작업노드들을 리스트로 뿌려줘염~*.
여기서 !잠깐끝 -_-!

그리고 저는 운영체제마다 틀린 인터페이스는 파이썬이 내부적으로 어떻게 선택할까? 라는... 뻘 생각을 해봤습니다.
os모듈 내부구조는 확실히 지금도 모르겠지만 여튼,
기본적으로 운영체제를 보통 리눅스같은 posix기반으로 인식한다네용.

완벽한 posix가 아닌 운영체제들(dos?) 은 posix적인 기능이 발동할시에 그것을 흉내낼수있도록 제어되는 코드로 만들어져 있다 하넹요.

os.time, os.getopt, os.tempfile 모듈들 안에는
(시간)정보,(슬리핑sleep)기능,(운영체제관련 파싱), 위에서 쓰인(commandline argument데이터), tempfile모듈명그대로
(임시 디렉토리)와 관련된 정보들을 구할수있습니다.

os.socket모듈은 네트웍api 인데, socket이란것이 원래 버클리대학?에서 나온 bsd socket인터페이스의 표준을 따르는 구현물일겁니다. 
중요한것은 운영체제별로 bsd 소켓이 구현되어있고, 운영체제 socket api를 파이썬 os.socket모듈이 wrapping한 wrapper역할을 하는것이라고 합니다.(즉 이용만하는 느낌이 크지요, 즉 연결시켜주는 기능이라는.... os모듈 관련한 다른기능들 모두도 마찬가지라 봅니다. 왜냐면 OS모듈이 운영체제에 종속되는 기능이다 보니 ㅋㅎ;)
select 모듈 이라는것이 있는뎅, 이것은 네트웍상태에서 폴링(polling)기능을 이용할수있습니다.

thread모듈은 말그대로 프로그래밍에서의 thread처리 관련한 모듈일것에용~~~
(많은 수의 lightweight 프로세스처리 하는...)스레드 프로그래밍은 추천하지 않아요(더 느려짐;;; 뻑(crash)날수있는 확률도 높아지고요...  고런걸 해결하는 방법은 mutex처리가 되겠네유? 맞을거에염..)

만약에 signal을 지원하는 운영체제의 시스템이 있다면, 파이썬의 signal모듈로 외부 신호에 의한 인터럽트(멈추게)를 걸수있음.
(타이머같은 기능에 자주쓰임) 여튼 os모듈에 이런종류가 많이 쓰인다함.

!!!그외!!!!
위에 바로 signal처리 모듈처럼 *****특정 플랫폼에서만**** 지원되는 파이썬 모듈들이 여럿 존재한다는뎅..(아마도 시간이 지날수록 점점 이런건 사라질거임! 왜냐면 고급프로그래밍언어들은 그런것에 종속받기를 거부하는 시스템으로 발전하니깐염.)
윈도우에서는 mfc나 OLE같은~~ 것?을 핸들링하는 모듈이 있다네용.
그렇다고 linux에서 ole모듈이 있냐 없냐라는 exception처리는 당연 되어있겠지염..(에러로그 내뱉을때!)


~~~(이문서또한 위 os모듈에 대한 소개와 쬐금 설명이 전부이지만 괜찮은 팁있음  정리해서 붙이겠삼)~~~ 

이제, 자습시간입니다.
Point Wrangle
 

Comments 1

prisms (website) on Friday, 30 August 2013 09:27

우리 이선생님의 글은 항상 난해합니다. 많은 이미지 첨부 부탁드립니다.

우리 이선생님의 글은 항상 난해합니다. 많은 이미지 첨부 부탁드립니다.
Already Registered? Login Here
Wednesday, 16 July 2025