Python/Python 정리

[Python] os 모듈

우준세 2022. 7. 2. 15:23
728x90
반응형

 

이번 포스팅은 파이썬의 os 모듈을 사용하면서 알아갔던 내용을 정리했습니다


| os 모듈

- os 모듈은 파이썬에서 가장 많이 사용되는 모듈 중 하나입니다. 로우 레벨의 os 시스템을 처리하며 여러 os에서 인터페이스를 일관되게 제공하는 것이 특징입니다. 물론 특정 os에서만 구동 가능한 기능도 있습니다. 하지만 이런 기능은 애플리케이션을 만들 때 os 포팅이 없을 경우에만 사용해야 합니다! os 모듈의 유용한 매서드를 예시를 통해 알아보겠습니다. 

 

1.) 디렉터리 목록을 보여주는 os.listdir() 

- os.listdir()은 디렉터리의 목록을 확인하기 위해 사용합니다. 

 

| 디렉터리 구성

 

| 코드 

import os 

path = './dir'

print(os.listdir(path))
print(type(os.listdir(path)

>>> ['dir_a.py', 'dir_a.txt', 'dir_b.py', 'dir_b.txt', 'dir_c.txt']
<class 'list'>

 

- 결과를 보시면 dir 안에 있는 목록들을 다 볼 수 있으며, 리스트로 반환되는 것을 확인했습니다.

 

2.) 파일 또는 디렉터리 이름을 바꾸는 os.rename() 

- 앞의 디렉터리 구성을 그대로 dir_a.py를 dir_c.py로 바꾸는 예제를 해보겠습니다.

 

| 코드

import os 

path = './dir'

os.rename(path + '/' + 'dir_a.py', path + '/' + 'dir_c.py')
print(os.listdir(path))

>> ['dir_a.txt', 'dir_b.py', 'dir_b.txt', 'dir_c.py', 'dir_c.txt']

 

3.) 파일을 삭제하는 os.remove() 

 

| 코드

import os 

path = './dir'

os.remove(path + '/' + 'dir_c.py')
print(os.listdir(path))

>> ['dir_a.txt', 'dir_b.py', 'dir_b.txt', 'dir_c.txt']

 

4.) 하나의 디렉터리를 생성하는 os.mkdir() 

- os.mkdir()는 절대 경로 혹은 상대 경로와 디렉터리 명을 지정하여 사용합니다. 

- 이미 있는 디렉터리명이면 에러가 발생합니다.

 

| 코드 

import os 

path = './dir'

os.mkdir(path + '/' + 'make_dir')
print(os.listdir(path))

>> ['dir_a.txt', 'dir_b.py', 'dir_b.txt', 'dir_c.txt', 'make_dir']

 

5.) 디렉터리 경로를 생성하는 os.makedirs()

- 앞서 os.mkdir()은 하나의 디렉터리를 생성했다면 os.makedirs()는 원하는 만큼 디렉터리를 생성할 수 있습니다.

- exist_ok라는 파라미터를 통해 True라면 디렉터리 명이 존재하면 에러 없이 넘어가며 없는 경우, 디렉터리를 생성합니다.

 

| 코드

import os

path = './dir'

os.makedirs(path + '/' + 'make_dir/dirs_1/dirs_2', exist_ok=true)

 

결과)

 

- 앞서 생성한 make_dir이지만 exist_ok = True를 하여 에러 없이 생성한 것을 볼 수 있습니다.

 

6.) 하나의 디렉터리를 삭제하는 os.rmdir()

 

| 코드 

import os

path = './dir'

os.rmdir(path + '/' + 'make_dir/dirs_1/dirs_2')

 

결과)

 

- dirs_2만 삭제된 것을 볼 수 있습니다.

 

7.) 최하위 경로에서부터 시작해 디렉터리 트리를 삭제하는 os.removedirs()

- os.makedirs()와 비슷한 os.removedirs()입니다.

os.removedirs()는 삭제 중 비어 있지 않은 디렉터리가 나타나면 멈춥니다.

 

| 코드

import os

path = './dir'

os.removedirs(path + '/' + 'make_dir/dirs_1')
print(os.listdir(path))

>> ['dir_a.txt', 'dir_b.py', 'dir_b.txt', 'dir_c.txt']

 

- make_dir까지 삭제되고 그다음 삭제를 하려 할 때 비어 있지 않아 삭제가 되지 않은 것을 볼 수 있습니다.


 

지금까지 os 모듈의 기초 사용법에 대해 알아봤습니다

 

os 모듈은 제가 정리한 것 말고도 메서드들이 굉장히 많으므로 필요하신 분들은 찾아보시면 좋을 것 같습니다!

 

다음 포스팅으로 찾아오겠습니다 감사합니다 :) 

 

 

 

728x90
반응형