76. 파이썬 os 표준 라이브러리

  • 네이버 블로그 공유하기
  • 카카오톡 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기

지난 포스팅에서는 shutil, glob, pickle 라이브러리에 대해 알아 보았습니다.
이번 포스팅에서는 파이썬 표준 라이브러리 중 os 에 대해서 공부해 보도록 하겠습니다.

파이썬 표준 라이브러리

os

os 모듈의 경우 환경 변수나 디렉터리, 또는 파일 등의 os 자원을 제어 할 수 있게 해주는 모듈입니다.

환경 변수 – os.environ

내 시스템의 환경 변수 값을 알고자 할때는 os.environ 함수를 사용합니다.
시스템은 저마다 각기 다른 환경 변수 값을 가지고 있는데 os.environ 은 현재 내 시스템의 환경 변수 값을 리턴을 해줍니다.
아래 코드는 그 예제입니다.

Python
>>> import os
>>> os.environ
environ({'ALLUSERSPROFILE': 'C:\\ProgramData', 'APPDATA': 'C:\\Users\\donnr\\AppData\\Roaming', 'COMMONPROGRAMFILES': 'C:\\Program Files\\Common Files', 'COMMONPROGRAMFILES(X86)': 'C:\\Program Files (x86)\\Common Files', 'COMMONPROGRAMW6432': 'C:\\Program Files\\Common Files', 'COMPUTERNAME': 'BAEKSH_8700K', 'COMSPEC': 'C:\\Windows\\system32\\cmd.exe', 'CONDA_DEFAULT_ENV': 'py_study_31010', 'CONDA_EXE': 'C:\\Users\\donnr\\anaconda3\\Scripts\\conda.exe', 'CONDA_PREFIX': 'C:\\Users\\donnr\\anaconda3\\envs\\py_study_31010', 'CONDA_PROMPT_MODIFIER': '(py_study_31010) ', 'CONDA_PYTHON_EXE': 'C:\\Users\\donnr\\anaconda3\\python.exe', 'CONDA_SHLVL': '1', 'DRIVERDATA': 'C:\\Windows\\System32\\Drivers\\DriverData', 'FPS_BROWSER_APP_PROFILE_STRING': 'Internet Explorer', 'FPS_BROWSER_USER_PROFILE_STRING': 'Default', 'HOMEDRIVE': 'C:', 'HOMEPATH': '\\Users\\donnr', 'LOCALAPPDATA': 'C:\\Users\\donnr\\AppData\\Local', 'LOGONSERVER': '\\\\BAEKSH_8700K', 'NUMBER_OF_PROCESSORS': '12', 'ONEDRIVE': 'C:\\Users\\donnr\\OneDrive', 'ONEDRIVECONSUMER': 'C:\\Users\\donnr\\OneDrive', 'OS': 'Windows_NT', 'PATH': 'C:\\Users\\donnr\\anaconda3\\envs\\py_study_31010;C:\\Users\\donnr\\anaconda3\\envs\\py_study_31010\\Library\\mingw-w64\\bin;C:\\Users\\donnr\\anaconda3\\envs\\py_study_31010\\Library\\usr\\bin;C:\\Users\\........생략 .......})
>>>

위 코드처럼 내 컴퓨터의 시스템 정보들이 출력이 됩니다.
os.environ 함수는 현재 시스템의 환경 변수에 대한 정보를 딕셔너리 형태로 구성된 environ 객체를 리턴하게 됩니다.
자세히 살펴보면 여러가지 유용한 정보를 찾아 볼 수가 있습니다.
돌려받은 객체를 아래 코드와 같이 호출하여 사용할 수 도 있습니다.
아래 코드든 제 컴퓨터 시스템의 PATH 환경 변수 내용입니다.

Python
>>> os.environ['PATH']
'C:\\Users\\donnr\\anaconda3\\envs\\py_study_31010;C:\\Users\\donnr\\anaconda3\\envs\\py_study_31010\\Library\\mingw-w64\\bin;C:\\Users\\donnr\\anaconda3\\envs\\py_study_31010\\Library\\usr\\bin;C:\\Users\\donnr\\anaconda3\\envs\\py_study_31010\\Library\\bin;C:\\Users\\donnr\\anaconda3\\envs\\py_study_31010\\Scripts;C:\\Users\\donnr\\anaconda3\\envs\\py_study_31010\\bin;C:\\Users\\donnr\\anaconda3\\condabin;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;....생략....'
>>>

디렉터리 위치 변경 – os.chdir

os.chdir 함수를 사용하게 되면 아래 코드와 같이 현재 디렉터리 위치를 변경을 할 수 있습니다.

Python
>>> os.chdir("C:\WINDOWS")

디렉터리 위치 돌려받기 – os.getcwd

os.getcwd 는 현재 자신의 디렉터리 위치를 리턴하게 됩니다

Python
>>> os.getcwd()
'C:\\WINDOWS'
>>>

좀전에 os.chdir 을 이용해 디렉터리 위치를 변경했기에 현재 디렉터리가 c:\WINDOWS 로 나옵니다.

시스템 명령어 호출 – os.system

os.system 은 시스템 자체의 프로그램이나 기타 명령어를 파이썬에서 호출 할 수 있게 해줍니다.
os.system(“명령어”) 의 형태로 사용 하면 됩니다.
아래 코드는 현재 디렉터리에서 시스템 명령어인 dir 명령을 실행하는 코드입니다.

Python
>>> os.system("dir")
 C 드라이브의 볼륨에는 이름이 없습니다.
 볼륨 일련 번호: 6ACD-4F35

 C:\Windows 디렉터리

2023-04-29  오후 08:07    <DIR>          .
2023-01-27  오후 10:07               880 ampa.ini
... 생략 ....
2022-05-07  오후 02:25    <DIR>          WUModels
              27개 파일          10,747,385 바이트
              83개 디렉터리  78,022,414,336 바이트 남음
0
>>>

실행한 시스템 명령어의 결과 값 돌려받기 – os.popen

os.popen 은 시스템 명령어를 실행한 결과 값을 읽기 모드 형태의 파일 객체로 리턴을 해 줍니다.
읽어 들인 파일 객체의 내용을 보기 위해 print 문을 사용한 코드입니다.

Python
>>> f = os.popen("dir")
>>> print(f.read())
 C 드라이브의 볼륨에는 이름이 없습니다.
 볼륨 일련 번호: 6ACD-4F35

 C:\Windows 디렉터리

2023-04-29  오후 08:07    <DIR>          .
2023-01-27  오후 10:07               880 ampa.ini
... 생략 ....
2022-05-07  오후 02:25    <DIR>          WUModels
              27개 파일          10,747,385 바이트
              83개 디렉터리  78,022,414,336 바이트 남음
>>>

유용한 os 기타 함수

os.mkdir

os.mkdir(디렉터리) 형식으로 사용하며 디렉터리를 생성해 줍니다.

os.rmdir

os.rmdir(디렉터리) 형식으로 사용하며 디렉터리를 삭제합니다. 단 디렉터리가 비어있을 경우에만 삭제가 됩니다.

os.unlink

os.unlink(파일) 형식으로 사용하며 파일을 삭제합니다.

os.rename

os.rename(src, dst) 형식으로 사용하면 src 라는 이름의 파일을 dst 라는 이름으로 바꿔주는 기능을 합니다.

  • 이 포스팅은 ‘위키독스’ 의 ‘점프 투 파이썬‘ 전자책을 구매하여 독학하기 위한 자료로 작성했습니다.
76. 파이썬 os 표준 라이브러리

Leave a Comment