지난 포스팅에서는 shutil, glob, pickle 라이브러리에 대해 알아 보았습니다.
이번 포스팅에서는 파이썬 표준 라이브러리 중 os 에 대해서 공부해 보도록 하겠습니다.
- 75. 파이썬 shutil, glob, pickle 표준 라이브러리
- 74. 파이썬 표준 라이브러리 operator.itemgetter operator.attrgetter
- 73. 파이썬 functools.reduce 표준 라이브러리
파이썬 표준 라이브러리
os
os 모듈의 경우 환경 변수나 디렉터리, 또는 파일 등의 os 자원을 제어 할 수 있게 해주는 모듈입니다.
환경 변수 – os.environ
내 시스템의 환경 변수 값을 알고자 할때는 os.environ 함수를 사용합니다.
시스템은 저마다 각기 다른 환경 변수 값을 가지고 있는데 os.environ 은 현재 내 시스템의 환경 변수 값을 리턴을 해줍니다.
아래 코드는 그 예제입니다.
>>> 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 환경 변수 내용입니다.
>>> 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 함수를 사용하게 되면 아래 코드와 같이 현재 디렉터리 위치를 변경을 할 수 있습니다.
>>> os.chdir("C:\WINDOWS")
디렉터리 위치 돌려받기 – os.getcwd
os.getcwd 는 현재 자신의 디렉터리 위치를 리턴하게 됩니다
>>> os.getcwd()
'C:\\WINDOWS'
>>>
좀전에 os.chdir 을 이용해 디렉터리 위치를 변경했기에 현재 디렉터리가 c:\WINDOWS 로 나옵니다.
시스템 명령어 호출 – os.system
os.system 은 시스템 자체의 프로그램이나 기타 명령어를 파이썬에서 호출 할 수 있게 해줍니다.
os.system(“명령어”) 의 형태로 사용 하면 됩니다.
아래 코드는 현재 디렉터리에서 시스템 명령어인 dir 명령을 실행하는 코드입니다.
>>> 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 문을 사용한 코드입니다.
>>> 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 라는 이름으로 바꿔주는 기능을 합니다.
- 이 포스팅은 ‘위키독스’ 의 ‘점프 투 파이썬‘ 전자책을 구매하여 독학하기 위한 자료로 작성했습니다.
